天天看點

使用npm時遇到Error: Invalid protocol

使用npm時遇到Error: Invalid protocol xxx.com.cn

分析思路:

  1. 通過百度,發現一般這個問題是設定代理的時候,沒有設定http://或https://引起的,而 npm 可以設定代理,首先猜測是代理的問題,

    通過npm config list 檢視配置,發現沒有設定代理;并且檢查了代理的設定情況,也沒有發現配置的代碼;并且檢查了6種設定方式,都排除掉了

這裡npm擷取配置有6種方式,優先級由高到底。

1 指令行參數。 --proxy http://server:port即将proxy的值設為http://server:port。

2 環境變量。 以npm_config_為字首的環境變量将會被認為是npm的配置屬性。如設定proxy可以加入這樣的環境變量npm_config_proxy=http://server:port。

3 使用者配置檔案。可以通過npm config get userconfig檢視檔案路徑。如果是mac系統的話預設路徑就是$HOME/.npmrc。

4 全局配置檔案。可以通過npm config get globalconfig檢視檔案路徑。mac系統的預設路徑是/usr/local/etc/npmrc。

5 内置配置檔案。安裝npm的目錄下的npmrc檔案。

6 預設配置。 npm本身有預設配置參數,如果以上5條都沒設定,則npm會使用預設配置參數。是引用

2.檢查作業系統的環境變量,最後發現是自己設定了一個http_proxy,值正好是 xxx.com.cn,去掉該環境變量,恢複正常了

繼續閱讀