如果我使用@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
。
答案 0 :(得分:0)
使用--no-save
标志可以防止在您的package.json
中发生更新
您需要以以下方式运行命令,
npm install @awesomeproject/my_dep@latest ---no-save
希望这会有所帮助!