npm安裝依賴包出錯問題處理


 

本文記錄在使用npm安裝依賴包過程中踩過的坑。一般來說,npm安裝失敗時需要注意下面幾點:

  • 是否能夠訪問安裝源:檢查代理和當前安裝源
  • 當前的node版本是否兼容已有模塊node_modules
  • 輸入的依賴包名稱是否正確

解決npm ERR! code ENOENT

解決方案1:npm cache clean --force

解決方案2:

npm ERR! enoent ENOENT: no such file or directory, open '/home/sida/repo/did-sidetree.js/node_modules/write-pkg/node_modules/pify/package.json.909409536'

 

用npm install 單獨安裝報錯中出現的包名:例如出現上邊的錯,則npm install pify --registry=https://registry.npm.taobao.org 

npm ERR! code ECONNRESET

在使用npm安裝node的模塊的時候,經常會出現下面的一些錯誤:

  • npm ERR! network tunneling socket could not be established, cause=connect ECONNREFUSED
  • npm ERR! code ECONNRESET
  • npm ERR! code ETIMEOUT
  • npm ERR! code ENOFFOUND

這些錯誤的原因很有可能是npm使用默認的源下載安裝包,而默認的安裝源是國外網站,國內訪問不了無法獲取依賴包信息。

這時只需要更換為國內的安裝源即可,可在命令行更換為國內淘寶的源:

# 查看自己的安裝源 npm config get registry # 更換npm源為國內淘寶鏡像 npm config set registry http://registry.npm.taobao.org/ # 或者更換為國內npm官方鏡像 npm config set registry http://registry.cnpmjs.org/ # 還原npm源 npm config set registry https://registry.npmjs.org/ 
Bash

npm安裝源設置

上面介紹了通過命令行設置安裝源地址的辦法,另外還可以設置代理,以及編輯配置文件等方法。

# 命令行設置代理 npm config set proxy="http://127.0.0.1:1034" # 還可以直接使用npm設置,不需要config npm --registry https://registry.npm.taobao.org info underscore 
Bash

另外還可以直接編輯npm安裝配置文件:.npmrc,在文件末尾添加兩行:

registry="http://registry.npmjs.org"

 proxy="http://127.0.0.1:1034"
Config

這個文件一般在用戶目錄或者安裝目錄下。

SSL Error: CERT_UNTRUSTED

這個是因為HTTPS的設置問題,可以有兩種辦法解決:

  • 關掉SSL檢測
  • 使用HTTP連接的安裝源

命令如下:

# 關閉SSL檢查 npm config set strict-ssl false # 使用http安裝源 npm config set registry="http://registry.npmjs.org/" 
Bash

npm WARN unmet dependency

這個錯誤的原因很有可能是按照依賴包的過程重網絡超時等導致,可以通過清空node_module修復:

# 刪除node_modules目錄 rm -rf node_modules/ # 情況緩存 npm cache clean # 重新安裝 npm install 
Bash

有時候,因為node版本過低也會導致該問題,可以使用下面命令更新node

npm update -g npm 
Bash

npm ERR! code EINTEGRITY

npm install時報錯:
npm ERR! code EINTEGRITY
npm ERR! sha512- sha512-rkIa1OSVWTt4g9leLSK/PsqOj3HZbDKHbZj

這個問題有可能是npm版本過低導致,需要更新npm版本:

# 更新npm npm install -g npm # 繼續安裝 npm install 
Bash

npm ERR! code EPERM

安裝時出現:

npm ERR! code EPERM
npm ERR! errno -4048

這個錯誤出現的原因很多,其中一個是因為npm安裝緩存的問題,可以嘗試執行下面命令清空緩存。

npm cache clean --force



 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM