淺析npm報錯ENOTFOUND npm ERR! network request to https://npm.***.com/*** failed 及 .npmrc 文件的作用、npm --verbose命令


1、npm報錯:

  今天看個項目,執行 npm install 安裝依賴時報錯:

84 error code ENOTFOUND 85 error errno ENOTFOUND 86 error network request to https://npm.***.com/@umijs%2fpreset-react failed, reason: getaddrinfo ENOTFOUND npm.***.com npm.***.com:443
87 error network This is a problem related to network connectivity. 87 error network In most cases you are behind a proxy or have bad network settings. 87 error network 87 error network If you are behind a proxy, please make sure that the 87 error network 'proxy' config is set properly.  See: 'npm help config'

  ENOTFOUND   npm ERR! network request to https://npm.zhonganonline.com/@umijs%2fpreset-react failed

  意思就是說找不到這個鏡像注冊地址。

  為什么會有這種情況,npm安裝鏡像地址不都是從 npm 里下載的嗎?所以看下項目結構,發現了 .npmrc 文件

2、.npmrc 文件的作用

  有些項目根目錄下可能有個.npmrc的文件,點開一看只有一句話:registry=http://registry.npm.xxxx.com

  就是npm 倉庫鏡像地址

  在npm i 的時候,如果項目根目錄下有這個文件,會自動從這個鏡像地址下安裝node_modules,不需要手動設置鏡像地址。

  所以問題就是 .npmrc 這個文件里的鏡像地址有問題,刪掉這個文件即可。

3、npm配置與 .npmrc 文件

(1)npm cli 提供了npm config 命令進行 npm 相關配置,通過npm config ls -l 可查看npm的所有配置,包括默認配置。

(2)npm config set 進行配置項修改,使用命令配置后會把配置文件中的注釋全部刪除

(3)一些常用配置:

  proxy、https-proxy :指定npm使用代理

  registry 指定npm下載安裝包的源 默認:https://registry.npmjs.org/

  npm config set prefix $dir

(4)npmrc文件:除了使用 cli 的 npm config 命令來顯示修改npm配置外,還可以通過 .npmrc 文件直接修改配置。

4、npm --verbose命令

  npm install --verbose,在安裝命令添加參數 --verbose 看打印詳細信息


免責聲明!

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



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