【发布时间】:2017-12-30 10:35:38
【问题描述】:
我们希望向 CI 服务器添加自动检查,以防止提交更新 package.json 中的依赖项但不更新 package-lock.json 中已解决的依赖项的代码。
例如,如果有人手动更新了 package.json 中的依赖项但运行 npm install 而不是 npm update(npm install 支持 package-lock.json,如果存在),则可能会发生这种情况。或者即使有人在更新依赖项时运行了正确的npm 命令但随后忘记将结果更改提交给package-lock.json,也可能发生这种情况。我们尝试在代码审查中注意这些事情,但自动检查肯定会更好。有没有npm 命令可以做到这一点?
这里有一个例子来说明。
之前:
// package.json
{
"lodash": "~3.1.0"
}
// package-lock.json
{
"dependencies": {
"lodash": {
"version": "3.1.3"
}
}
}
有人更新package.json,但忘记将更改提交给package-lock.json。
之后:
// package.json
{
"lodash": "~3.2.0"
}
// package-lock.json (not changed)
{
"dependencies": {
"lodash": {
"version": "3.1.3"
}
}
}
现在package-lock.json 不再反映package.json 文件的一组有效依赖解决方案。
【问题讨论】:
标签: node.js npm package.json