- 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會使用默認配置參數。
- 針對npm配置的命令行操作
- npm config set
[--global] - npm config get
- npm config delete
- npm config list
- npm config edit
- npm get
- npm set
[--global]
- npm config set
- 查看和設置npm的緩存目錄(存儲module及其sha值,需要和項目中的package-lock.json中的sha值一致)
- NPM會把所有下載的包保存,可以使用npm config get cache命令來查看位置,默認一般放在用戶文件夾下面,比如C:\Users{{username}}\AppData\Roaming\npm-cache目錄下面
- 可以使用npm cache clean --force清除該目錄中的內容
- 如果該目錄中已經有想要的版本的包了,那么npm install就不會去網上再下載了,而是直接放到項目的node_modules目錄中,npm install的輸出中也會提到哪些是從緩存中取的。
- 為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/"
- 在設置配置屬性時屬性值默認是被存儲於用戶配置文件中,如果加上--global,則被存儲在全局配置文件中。
- 如果要查看npm的所有配置屬性(包括默認配置),可以使用npm config ls -l。
- 如果要查看npm的各種配置的含義,可以使用npm help config。