想象一下情况:
我们有一个node_modules
gitignored的项目。将任务 developer1 更新package.json
修复为某个模块的较新版本,例如
"dependencies": {
"async": "^1.5.2", // was 1.5.1
...
然后他在本地运行npm install
以获取更新的模块,执行测试,完成任务并在服务器上推送更改。
Developer2 从服务器中删除了更改,导致应用被破坏,因为本地({1}}的本地版本(1.5.1)仍然存在。而开发人员2可能会浪费大量时间来查找究竟出了什么问题。直到他们async
。
你能否建议任何npm包或现成的钩子可以检查npm i
中package.json
的实际版本与node_modules
的实际版本?
这将非常有用!
PS:我知道https://www.npmjs.com/package/npm-check,但它不能满足我的需要。
答案 0 :(得分:1)
包check-dependencies可能会做你想要的。
$ check-dependencies
url-loader: installed: 0.5.8, expected: 0.4.0
Invoke npm install to install missing packages
答案 1 :(得分:0)
在我目前的工作中,我们遇到了这个问题。 我们通过创建一个简单的脚本来修复它,该脚本拉动了新的源,之后直接执行npm update。