如果我使用 @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
希望这有帮助!