網站導覽
目錄
npmrc
選擇 CLI 版本
目錄
說明
npm 從命令列、環境變數和 npmrc
檔案取得設定值。
可以使用 npm config
指令更新和編輯使用者和全域 npmrc 檔案的內容。
如需可用設定選項清單,請參閱 config。
檔案
四個相關檔案為
- 專案設定檔 (
/path/to/my/project/.npmrc
) - 使用者設定檔 (
~/.npmrc
) - 全域設定檔 (
$PREFIX/etc/npmrc
) - npm 內建設定檔 (
/path/to/npm/npmrc
)
所有 npm 設定檔都是 ini 格式的 key = value
參數清單。環境變數可以使用 ${VARIABLE_NAME}
替換。例如
prefix = ${HOME}/.npm-packages
每個檔案都會載入,而設定選項會依優先順序解析。例如,userconfig 檔案中的設定會覆寫 globalconfig 檔案中的設定。
陣列值會在鍵值名稱後加上「[]」來指定。例如
key[] = "first value"key[] = "second value"
註解
當 .npmrc
檔案中的行以 ;
或 #
字元開頭時,會被視為註解。 .npmrc
檔案會由 npm/ini 解析,而此程式會指定這個註解語法。
例如
# last modified: 01 Jan 2016; Set a new registry for a scoped package@myscope:registry=https://mycustomregistry.example.org
專案設定檔
在專案中進行本地作業時,專案根目錄中的 .npmrc
檔案(亦即 node_modules
和 package.json
的同層目錄)會設定專案特定的設定值。
請注意,這只適用於您執行 npm 的專案根目錄。當您的模組發布時,這不會產生任何效果。例如,您無法發布一個會強制自己進行全域安裝或安裝在不同位置的模組。
此外,這個檔案不會在全域模式中讀取,例如執行 npm install -g
時。
使用者設定檔
$HOME/.npmrc
(或 userconfig
參數,如果在環境或命令列中設定)
全域設定檔
$PREFIX/etc/npmrc
(或 globalconfig
參數,如果在上面設定):這個檔案是 ini 檔案格式的 key = value
參數清單。環境變數可以如上所述替換。
內建設定檔
path/to/npm/itself/npmrc
這是一個不可變更的「內建」設定檔,npm 會在更新時保持一致。使用 npm 附帶的 ./configure
指令碼設定此處的欄位。這主要是供發行維護人員以標準且一致的方式覆寫預設設定。
驗證相關設定
設定 _auth
、_authToken
、username
和 _password
都必須限定在特定登錄檔中。這可確保 npm
永遠不會將認證資料傳送給錯誤的主機。
完整清單如下
_auth
(base64 驗證字串)_authToken
(驗證權杖)使用者名稱
_密碼
電子郵件
certfile
(憑證檔案路徑)keyfile
(金鑰檔案路徑)
為了設定這些值的範圍,必須在前面加上 URI 片段。如果憑證是要用於對單一主機上的登錄檔的任何要求,範圍可能看起來像 //registry.npmjs.org/:
。如果必須將範圍設定為主機上的特定路徑,也可以提供該路徑,例如 //my-custom-registry.org/unique/path:
。
; bad config_authToken=MYTOKEN; good config@myorg:registry=https://somewhere-else.com/myorg@another:registry=https://somewhere-else.com/another//registry.npmjs.org/:_authToken=MYTOKEN; would apply to both @myorg and @another; //somewhere-else.com/:_authToken=MYTOKEN; would apply only to @myorg//somewhere-else.com/myorg/:_authToken=MYTOKEN1; would apply only to @another//somewhere-else.com/another/:_authToken=MYTOKEN2