Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何检查npm-shrinkwrap.json和package.json的一致性_Node.js_Githooks_Npm Shrinkwrap_Package Lock.json - Fatal编程技术网

Node.js 如何检查npm-shrinkwrap.json和package.json的一致性

Node.js 如何检查npm-shrinkwrap.json和package.json的一致性,node.js,githooks,npm-shrinkwrap,package-lock.json,Node.js,Githooks,Npm Shrinkwrap,Package Lock.json,有时,我的团队成员忘记在更新package.json之后更新npm-shrinkwrap.json。我从优步知道,但它不能与npm v3一起使用。所以现在它不是解决方案 我是否可以自动检查npm-shrinkwrap.json和package.json的一致性?我想在git hook或/和continuous中实现这一点 您可以测试,它允许安装(即) 这样的钩子(像这样)可以用来检查源文件的一致性,比如npm shrinkwrap.json 例如,另见 一组脚本,用于根据需要自动npm收缩包装和

有时,我的团队成员忘记在更新package.json之后更新npm-shrinkwrap.json。我从优步知道,但它不能与npm v3一起使用。所以现在它不是解决方案

我是否可以自动检查npm-shrinkwrap.json和package.json的一致性?我想在git hook或/和continuous中实现这一点

您可以测试,它允许安装(即)

这样的钩子(像这样)可以用来检查源文件的一致性,比如
npm shrinkwrap.json

例如,另见

一组脚本,用于根据需要自动
npm收缩包装
npm安装

如果对
package.json
进行阶段性更改,则
预提交
钩子将
运行npm shrinkwrap
以更新
npm shrinkwrap.json

由galk在中更新

我在package.json中选择了此更新

...
"scripts": {
  "check-shrinkwrap": "if (! git diff --cached  --quiet -- package.json); then echo 'Running `npm shrinkwrap` to match new package spec...' >&2; npm shrinkwrap; git add npm-shrinkwrap.json; fi"
},
...
"pre-commit": [
  "check-shrinkwrap",
  "test"
]
...

自2017年6月24日起更新
现代的答案是将NPM5与
package lock.json一起使用,谢谢!你对CI解决方案有什么想法吗?@galk.in当然有。您可以将其集成到Travis CI环境中,例如()@galk。您可以在另一个CI的上下文中看到您的问题:greekeeper:
...
"scripts": {
  "check-shrinkwrap": "if (! git diff --cached  --quiet -- package.json); then echo 'Running `npm shrinkwrap` to match new package spec...' >&2; npm shrinkwrap; git add npm-shrinkwrap.json; fi"
},
...
"pre-commit": [
  "check-shrinkwrap",
  "test"
]
...