检查包json中的版本与实际的node_modules

时间:2016-01-28 12:29:38

标签: node.js npm node-modules semantic-versioning

想象一下情况:

我们有一个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 ipackage.json的实际版本与node_modules的实际版本?

这将非常有用!

PS:我知道https://www.npmjs.com/package/npm-check,但它不能满足我的需要。

2 个答案:

答案 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。