Ite*_*tor 3 node.js npm node-modules npm-install
我想安装 1.8.x 版本的包,并且能够稍后在 >=1.8.0 <1.9.0 范围内自动更新此依赖项。
我试图运行这个命令:
npm install example-package@~1.8 --save
Run Code Online (Sandbox Code Playgroud)
不幸的是,它将此记录添加到我的package.json:
"example-package" : "^1.8.0"
Run Code Online (Sandbox Code Playgroud)
但我想要的是这个:
"example-package" : "~1.8.0"
Run Code Online (Sandbox Code Playgroud)
如何在npm install不手动编辑package.json文件的情况下使用 来做到这一点?
semver 前缀由save-prefix配置定义。默认值是一个插入符号 ( ^),您可以通过运行以下npm config命令来检查它:
npm config get save-prefix
Run Code Online (Sandbox Code Playgroud)
不幸的是,该npm install命令没有选项来指定这一点,所以你需要做的是:
通过运行将save-prefix值设置为波浪号 ( ~):
npm config set save-prefix="~"
Run Code Online (Sandbox Code Playgroud)通过运行安装你的包:
npm i example-package@1.8.0 --save
Run Code Online (Sandbox Code Playgroud)
注意:~安装命令中不得包含波浪号 ( )。
最后,通过运行将save-prefix值设置回它的默认值,即插入符号 ( ^):
npm config delete save-prefix
Run Code Online (Sandbox Code Playgroud)
注意:如果您希望所有 futurenpm install都使用波浪号 ( ~) 前缀而不是插入符号 ( ^),那么您就不会执行最后一步。
上述步骤将在 中添加以下记录package.json:
"example-package" : "~1.8.0"
Run Code Online (Sandbox Code Playgroud)
注意波浪号~而不是默认的插入符号^
您可以使用&&运算符将上述命令组合成一个复合命令。例如:
npm config set save-prefix="~" && npm i example-package@1.8.0 --save && npm config delete save-prefix
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
583 次 |
| 最近记录: |