當前位置: 首頁>>技術教程>>正文


當我運行`npm install`時,它返回`ERR!代碼EINTEGRITY`(npm 5.3.0)

, , ,

問題描述

運行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

要麽

執行以下步驟來解決問題:

  1. 查找所有過時的軟件包並更新主題:npm outdated -g sudo npm i -g outDatedPKG

  2. 使用以下命令將npm升級到最新版本:sudo npm i -g npm

  3. 刪除package-lock.json文件。

  4. 刪除~/.npm中的_cacache目錄:npm cache verify

  5. 每當我收到錯誤時,請執行第2步和第2步。 3。

  6. 如果仍然出現錯誤,請清除npm的緩存:npm cache clean --force

要麽

  1. 將代理添加到~目錄中的.npmrc

proxy=http://localhost:8123 https-proxy=http://localhost:8123

  1. 再試一次!緩慢的互聯網連接和審查可能會導致這個醜陋的問題。

要麽

npm cache clear --force && npm install --no-shrinkwrap --update-binary

要麽

npm config set package-lock false

次佳解決思路

刪除package-lock.json文件,然後嘗試安裝

第三種解決思路

我的問題是兩件事:

  1. 錯誤的package-lock.json文件

  2. npm-shrinkwrap.json與package-lock.json文件的存在

我做的是:

  1. 刪除了package-lock.json文件

  2. 刪除npm-shrinkwrap.json文件

  3. 再次安裝npm(重新創建了一個好的package-lock文件)

修正了我的錯誤!

第四種思路

實際上,上述內容與服務器端的網絡連接有關。當我在服務器中具有良好的連接性時,npm安裝變得很好並且沒有拋出任何錯誤

第五種思路

這個問題確實存在於package-lock.json中,並且在用另一個分支的工作版本替換它之後就可以了。

有趣的是看到差異:

node.js,linux,ubuntu,npm

因此,在package-lock.json中確實存在一些完整性校驗和,以驗證您正在下載的文件是否未被篡改。隻是在某種程度上,我們的package-lock.json中使用SHA1而不是SHA-512校驗和替換了完整性校驗和。我不知道這是怎麽發生的。

第六種思路

請嘗試以下方法:

npm cache clean --force

這對我有用。

第七種思路

這裏有幾個有效且有用的回複,但我想補充一點,在我的情況下,最簡單的解決方案是:

  1. 刪除package-lock.json;

  2. 刪除文件夾AppData \ Local \ npm \ cache或AppData \ Roaming \ npm \ cache;

  3. 刪除文件夾node_modules.staging;

  4. 再次運行npm install。

之後一切順利。

第八種思路

要解決此問題,請按照以下步驟操作:

  1. 轉到項目目錄

  2. 刪除node_modules目錄:rm -rf node_modules

  3. 刪除package-lock.json文件:rm package-lock.json

  4. 清除緩存:npm cache clean --force

  5. 運行npm install --verbose如果按照上述步驟仍然存在問題,請使用–verbose向我們提供安裝命令的輸出。

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/6755.html,未經允許,請勿轉載。