gpt4 book ai didi

node.js - Npm install 忽略版本号中的波浪号 (~)

转载 作者:行者123 更新时间:2023-12-04 14:45:16 24 4
gpt4 key购买 nike

我想安装 1.8.x 版本的包,并且能够稍后在 >=1.8.0 <1.9.0 范围内自动更新此依赖项。

我试图运行这个命令:

npm install example-package@~1.8 --save

不幸的是,它将此记录添加到我的 package.json :
"example-package" : "^1.8.0"

但我想要的是这个:
"example-package" : "~1.8.0"

怎么可能用 npm install 做到这一点, 无需手动编辑 package.json文件?

最佳答案

semver 前缀由 save-prefix 定义配置。默认值是一个插入符号( ^ ),您可以通过运行以下命令来检查它 npm config 命令:

npm config get save-prefix

不幸的是, npm install command 没有选项来指定这个,所以你需要做的是:
  • 设置 save-prefix通过运行将值转换为波浪号 ( ~ ):

    npm config set save-prefix="~"
  • 通过运行安装你的包:

    npm i example-package@1.8.0 --save

    注:波浪号 ( ~ ) 不得包含在安装命令中。
  • 最后,设置 save-prefix通过运行将值恢复为默认值,即插入符号( ^ ):

    npm config delete save-prefix

    注:如果你想要所有 future ,你就不会做这最后一步 npm install使用波浪号 ( ~ ) 前缀而不是插入符号 ( ^ )。

  • 以上步骤会在 package.json中添加如下记录:

    "example-package" : "~1.8.0"

    注意波浪号 ~而不是默认的插入符号 ^
    您可以使用 &&运算符将上述命令组合成一个复合命令。例如:

    npm config set save-prefix="~" && npm i example-package@1.8.0 --save && npm config delete save-prefix

    关于node.js - Npm install 忽略版本号中的波浪号 (~),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60864514/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com