使用 "@latest" 安装包会删除语义版本控制



如果我使用 @latest 选项安装软件包,则会删除在 package.json 中找到的此软件包的语义版本控制。

在安装之前,我已经删除了package-lock.json文件和node_modules文件夹,这仍在发生。

package.json之前:

"dependencies": {
  "@awesomeproject/my_dep": "^1.0.4”,
}

运行:

npm install @awesomeproject/my_dep@latest

package.json之后

"dependencies": {
  "@awesomeproject/my_dep": "1.0.5",
}

预期

"dependencies": {
  "@awesomeproject/my_dep": "^1.0.5",
}

这只会持续影响一个特定的包。项目中的其他包不受影响,这让我相信这是来自该包的东西,而不是来自尝试更新它的项目。更改此包中的任何内容应该不是问题,因为我是所有者。

这与这个问题不是同一个问题: 为什么"npm install"在版本号中添加/删除插入符号 (^(? 因为这会影响所有软件包。

编辑: 我想将最新版本的软件包保存到package.json.

使用 --no-save 标志,防止package.json中发生更新

您需要以以下方式运行该命令:

npm install @awesomeproject/my_dep@latest ---no-save

希望这有帮助!

最新更新