在網上查了一下:
npm獲取配置有6種方式,優先級由高到底。
-
命令行參數。
--proxy http://server:port
即將proxy的值設為http://server:port
。 -
環境變量。 以
npm_config_
為前綴的環境變量將會被認為是npm的配置屬性。如設置proxy可以加入這樣的環境變量npm_config_proxy=http://server:port
。 -
用戶配置文件。可以通過
npm config get userconfig
查看文件路徑。如果是mac系統的話默認路徑就是$HOME/.npmrc
。 -
全局配置文件。可以通過
npm config get globalconfig
查看文件路徑。mac系統的默認路徑是/usr/local/etc/npmrc
。 -
內置配置文件。安裝npm的目錄下的npmrc文件。
-
默認配置。 npm本身有默認配置參數,如果以上5條都沒設置,則npm會使用默認配置參數。
在設置配置屬性時屬性值默認是被存儲於用戶配置文件中,如果加上--global
,則被存儲在全局配置文件中。
如果要查看npm的所有配置屬性(包括默認配置),可以使用npm config ls -l
。
如果要查看npm的各種配置的含義,可以使用npm help config
。
為npm設置代理
$ npm config set proxy http://server:port $ npm config set https-proxy http://server:port
如果代理需要認證的話可以這樣來設置。
$ npm config set proxy http://username:password@server:port $ npm config set https-proxy http://username:pawword@server:port
如果代理不支持https的話需要修改npm存放package的網站地址。
$ npm config set registry "http://registry.npmjs.org/"
按上面的方法設置了proxy和https-proxy后,用npm config get proxy 或 npm get proxy 查看,代理服務器已經設置上了, 可是執行npm install xxx時還是報錯,提示網絡有問題,可能是通過代理上網,需要正確設置proxy,
最后,直接在npm install 命令后面加上 --proxy=http://服務器域名(或IP):端口號,終於正確安裝上了,但是上面的方法為什么不行就不知道了,難道設置之后還要重啟終端?