【发布时间】:2017-11-25 17:09:27
【问题描述】:
我在安装我的包的 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
再次让事情正常进行,它会覆盖我的package-lock.json 中"Modernizr" 的"integrity" 字段。
每次从该链接获取的 Modernizr 包发生更改并且我的包依赖项需要重新安装(例如,每次在 CI 构建时)时,都可能发生这种情况
如果没有其他方法可以解决这个问题?我希望我不必将package-lock.json 放在我的.gitignore 文件中:(
关于我的环境的更多数据:
$ npm -v
5.0.3
$ node -v
v6.11.0
【问题讨论】:
-
@kenorb 不是。它严格连接到modernizr.com/download?setclasses-flash 依赖链接,它总是导致包的最新版本,然后使用来自包锁的校验和创建 EINTEGRITY 错误。
标签: node.js npm npm-install modernizr