一个朋友和我分享了他正在为WordPress开发的主题,我克隆了他的回购协议在我的/themes文件夹中,我尝试的第一件事是运行“npm安装”在主题文件夹中,以获得gulp和其他npm很酷的功能。
下面是它返回的内容:
$ npm install
npm ERR! code EINTEGRITY
npm ERR! sha1-fjL3W0e4epHQRhHxvxQQmsAGUdc= integrity checksum failed when using sha1: wanted sha1-fjL3W0e4epHQRhHxvxQQmsAGUdc= but got sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=. (36808 bytes)
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\rinor\AppData\Roaming\npm-cache\_logs\2020-04-04T17_30_54_859Z-debug.log
在尝试全局安装后,它给了我同样的错误,所以我想出了从我的PC上卸载node.js,然后下载并安装LTS版本(12. 16. 1)。重新启动,测试,它似乎工作,因为我试图键入“node -v”&&“npm -v”。但当我返回到我的主题,并前往“npm安装”,它给了我同样的错误。
下面是我的package.json内容
{
"name": "ruce-theme",
"version": "1.0.0",
"description": "A starter theme",
"scripts": {
"watch": "gulp watch"
},
"dependencies": {
"bootstrap": "^4.0.0-beta.3",
"jquery": "^3.2.1",
"npm": "^6.4.1",
"slick-carousel": "^1.8.1"
},
"devDependencies": {
"@babel/core": "^7.3.3",
"@babel/preset-env": "^7.3.1",
"@babel/preset-react": "^7.0.0",
"babel-core": "^6.25.0",
"babel-loader": "^8.0.5",
"babel-plugin-transform-react-jsx": "^6.24.1",
"babel-preset-env": "^1.6.0",
"cross-env": "^5.0.1",
"css-loader": "^2.1.0",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"file-loader": "^3.0.1",
"gulp": "^4.0.0",
"gulp-babel": "^8.0.0-beta.2",
"gulp-clean-css": "^3.9.1",
"gulp-clone": "^1.1.4",
"gulp-concat": "^2.6.1",
"gulp-cssnano": "^2.1.2",
"gulp-ignore": "^2.0.2",
"gulp-imagemin": "^4.0.0",
"gulp-merge": "^0.1.1",
"gulp-plumber": "^1.2.0",
"gulp-rename": "^1.2.2",
"gulp-rimraf": "^0.2.2",
"gulp-sass": "^3.1.0",
"gulp-sequence": "^0.4.6",
"gulp-sourcemaps": "2.6.2",
"gulp-uglify": "^3.0.0",
"gulp-watch": "^4.3.11",
"node-sass": "^4.11.0",
"sass-loader": "^7.1.0",
"style-loader": "^0.23.1",
"webpack": "^4.29.0",
"webpack-cli": "^3.2.1"
},
"license": "ISC"
}
这些是调试显示的错误
20111 error code EINTEGRITY
20112 error sha1-fjL3W0e4epHQRhHxvxQQmsAGUdc= integrity checksum failed when using sha1: wanted sha1-fjL3W0e4epHQRhHxvxQQmsAGUdc= but got sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=. (36808 bytes)
20113 verbose exit [ 1, true ]
2条答案
按热度按时间5kgi1eie1#
你没有提到你是否有
package-lock.json
。在某些情况下,以下可能会有所帮助。但首先要确保你了解发生了什么。npm
告诉你https://registry.npm.org的校验和与package-lock.json
的校验和不匹配。要么是注册表中的校验和发生了变化,要么是...解决方案考虑输出中的行:
通过前两个完整性校验和(
sha1-...
)找到package-lock.json
中的包,并将第三个完整性校验和(sha512-...
)放入其“integrity”字段。更多信息请点击此处。
brqmpdu12#
我遇到了同样的问题。如果仓库中的npm包用相同的版本更新,校验和会改变,npm会引发错误。为了克服这个问题,我简单地
1.已删除节点模块
1.清除npm缓存
1.已更改软件包的其他有效版本
1.运行npm安装
1.我再次将软件包版本更改为要使用的版本
1.运行npm安装
因此,校验和已更新,并且npm正确安装了所需的包。
但是,最有可能的是,应用3到6将是足够的imho。
Npm会引发错误,因为校验和保存到package-lock.json中,我们无法自定义修改它。