如何不将插入符号 ^ 符号添加到用纱线安装的包中?

How to not add caret ^ sign to package installed with yarn?

我看到了 npm 更改版本前缀 https://docs.npmjs.com/misc/config#save-prefix. What's the solution for yarn 以不添加插入符号的解决方案?

如果可能的话,我不想全局配置它,而是只为当前项目配置。

因此,当我 运行 类似 yarn add --dev webpack 时,它会将其版本保存为 "webpack": "3.6.0",而不是 "webpack": "^3.6.0"

你可以做到

$ yarn config set save-prefix false

$ echo save-prefix false >> .yarnrc

https://yarnpkg.com/lang/en/docs/cli/config/


编辑

将值设置为 false 将安装这样的软件包 "some-package": "false3.0.4",这可能有点误导。如果您 根本不需要 前缀,则通过 yarn config set save-prefix ""

将其设置为空字符串

因为@Noel 的回答中没有提到,如果你不想 yarn config ... 并且不想有 false 前缀,你可以 运行 这个:

echo save-prefix \"\" >> .yarnrc

它将以下内容放入 .yarnrc:

save-prefix ""

为当前项目安装没有任何前缀的包。

注: ""表示空字符串,即不加任何前缀。

对于寻找 Yarn 2 解决方案的任何人,请添加 .yarnrc.yml 并包含以下内容:

defaultSemverRangePrefix: ""

参考:https://yarnpkg.com/configuration/yarnrc

对我来说,正确答案是使用 https://classic.yarnpkg.com/lang/en/docs/cli/add/#toc-yarn-add-exact-e

示例:

yarn add @soldeplata/popper-vue -E

yarn add @soldeplata/popper-vue --exact