我在安装软件包的deps时遇到此错误:
$ npm i
npm ERR! code EINTEGRITY
npm ERR! sha1-tU7jWojzuU8MIY2VLAx+BwluNo0= integrity checksum failed when using sha1: wanted sha1-tU7jWojzuU8MIY2VLAx+BwluNo0= but got sha1-oXYP0kzpbhku0KU+phy353lbBhQ=. (26624 bytes)
npm ERR! A complete log of this run can be found in:
npm ERR! /home/tlenex/.npm/_logs/2017-06-22T10_18_19_773Z-debug.log
问题出在我的
Modernizr
依赖项上:"dependencies": {
"Modernizr": "https://modernizr.com/download?setclasses-flash"
}
有什么方法可以解决此问题或忽略此完整性检查?
目前我要运行
npm i https://modernizr.com/download?setclasses-flash
再次使工作正常,这将覆盖
"integrity"
中"Modernizr"
的package-lock.json
字段。每当从此链接获取的
Modernizr
软件包发生更改,并且需要重新安装我的软件包依赖项时(例如,每次在CI构建中),都可能发生这种情况如果没有其他方法可以解决这个问题?我希望我不必将
package-lock.json
放在我的.gitignore
文件中:(有关我的环境的更多数据:
$ npm -v
5.0.3
$ node -v
v6.11.0
最佳答案
完整性字段的目的是在发生某些更改时向您发出警报,因此,如果您不希望它存在,则可以在npmrc中禁用package-lock.json文件。只需设置package-lock=false
注意:我是Modernizr的开发人员,并与npm-cli团队就此问题进行了交谈。根本原因似乎是npm5和早期版本之间SHA类型的更改。删除node_modules
文件夹将对其进行修复
关于node.js - 完整性: npm 5. 0完整性检查和modernizr.com依赖性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44699090/