我希望在我的应用程序中将以下NPM (v5)
依赖项从版本1.0.0
更新为1.0.1
,而无需更改我的package.json
文件。
"dependencies": {
"package": "~1.0.0"
},
我当前的package-lock.json文件将依赖项引用为版本1.0.0
,因此,按预期运行npm install
会安装该软件包的版本1.0.0
。
问题出在运行npm install package@1.0.1
或npm update package
时,这两个命令似乎都改变了package.json
中软件包版本引用的方式
是否可以运行一个命令来实现对package-lock.json
文件的次要版本更新?
谢谢!
答案 0 :(得分:0)
package-lock.json
由npm生成,没有npm很难修改,因为它包含程序包散列。
如果您仅使用补丁程序版本(~1.0.0
来引用模块,我认为执行以下操作是安全的:
package.json
并将其删除npm update package
。这将使用package-lock.json
作为参考,还将更新package-lock.json
package.json
npm update package
现在不会更新package.json
,因为package-lock.json
是较新的版本如果要查找单行命令:
mv package.json package.json.tmp && npm update package && mv package.json.tmp package.json
同样,只有在处理补丁版本(~1.0.0
)时,这才是安全的。如果您指定次要(^1.0.0
)或主要(1.0.0
)版本,则可能需要直接更新package.json
。