問題描述
運行sudo npm install
時出現此錯誤。在我的服務器上,早先安裝了npm。我試圖刪除package-lock.json
文件,並運行npm cache clean --force
,但它不起作用。
我的npm版本是5.3.0。
錯誤:
npm ERR! code EINTEGRITY
npm ERR! sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== integrity checksum failed when using sha512: wanted sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== but got sha512-WXI95kpJrxw4Nnx8vVI90PuUhrQjnNgghBl5tn54rUNKZYbxv+4ACxUzPVpJEtWxKmeDwnQrzjc0C2bYmRJVKg==. (65117 bytes)
npm ERR! A complete log of this run can be found in:
npm ERR! /home/ubuntu/.npm/_logs/2017-11-29T05_33_52_182Z-debug.log
最佳解決思路
請參閱https://github.com/npm/npm/issues/16861
這對我有用:npm cache verify
然後我re-ran:npm install -g create-react-app
並按預期安裝:問題已解決
github問題中提到的其他解決方案包括:
npm cache clean --force
要麽
刪除Users%username%\AppData\Roaming
(Windows 7)中的npm和npm-cache文件夾並運行npm install
要麽
通過npm i -g npm
更新npm
要麽
刪除package-lock.json
要麽
npm cache verify
要麽
npm cache clean
要麽
執行以下步驟來解決問題:
-
查找所有過時的軟件包並更新主題:
npm outdated -g
sudo npm i -g outDatedPKG
-
使用以下命令將npm升級到最新版本:
sudo npm i -g npm
-
刪除
package-lock.json
文件。 -
刪除
~/.npm
中的_cacache
目錄:npm cache verify
-
每當我收到錯誤時,請執行第2步和第2步。 3。
-
如果仍然出現錯誤,請清除npm的緩存:
npm cache clean --force
要麽
-
將代理添加到
~
目錄中的.npmrc
:
proxy=http://localhost:8123
https-proxy=http://localhost:8123
-
再試一次!緩慢的互聯網連接和審查可能會導致這個醜陋的問題。
要麽
npm cache clear --force && npm install --no-shrinkwrap --update-binary
要麽
npm config set package-lock false
次佳解決思路
刪除package-lock.json文件,然後嘗試安裝
第三種解決思路
我的問題是兩件事:
-
錯誤的package-lock.json文件
-
npm-shrinkwrap.json與package-lock.json文件的存在
我做的是:
-
刪除了package-lock.json文件
-
刪除npm-shrinkwrap.json文件
-
再次安裝npm(重新創建了一個好的package-lock文件)
修正了我的錯誤!
第四種思路
實際上,上述內容與服務器端的網絡連接有關。當我在服務器中具有良好的連接性時,npm安裝變得很好並且沒有拋出任何錯誤
第五種思路
這個問題確實存在於package-lock.json中,並且在用另一個分支的工作版本替換它之後就可以了。
有趣的是看到差異:
因此,在package-lock.json中確實存在一些完整性校驗和,以驗證您正在下載的文件是否未被篡改。隻是在某種程度上,我們的package-lock.json中使用SHA1而不是SHA-512校驗和替換了完整性校驗和。我不知道這是怎麽發生的。
第六種思路
請嘗試以下方法:
npm cache clean --force
這對我有用。
第七種思路
這裏有幾個有效且有用的回複,但我想補充一點,在我的情況下,最簡單的解決方案是:
-
刪除package-lock.json;
-
刪除文件夾AppData \ Local \ npm \ cache或AppData \ Roaming \ npm \ cache;
-
刪除文件夾node_modules.staging;
-
再次運行npm install。
之後一切順利。
第八種思路
要解決此問題,請按照以下步驟操作:
-
轉到項目目錄
-
刪除node_modules目錄:
rm -rf node_modules
-
刪除package-lock.json文件:
rm package-lock.json
-
清除緩存:
npm cache clean --force
-
運行
npm install --verbose
如果按照上述步驟仍然存在問題,請使用–verbose向我們提供安裝命令的輸出。