使用“ @latest”安装软件包可删除语义版本控制

时间:2019-08-07 10:30:22

标签: node.js npm npm-install semantic-versioning

如果我使用@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",
}

这只会持续影响一个特定的程序包。项目中的其他程序包不受影响,使我相信这是该程序包中的内容,而不是试图更新它的项目中的内容。因为我是所有者,所以更改此软件包中的任何内容都应该不是问题。

此问题与以下问题不同: Why does `npm install` add / remove caret (^) to / from version numbers? 由于这会影响所有软件包。

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

1 个答案:

答案 0 :(得分:0)

使用--no-save标志可以防止在您的package.json中发生更新

您需要以以下方式运行命令,

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

希望这会有所帮助!