npmrc

npm 設定檔

選擇 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_modulespackage.json 的同層目錄)會設定專案特定的設定值。

請注意,這只適用於您執行 npm 的專案根目錄。當您的模組發布時,這不會產生任何效果。例如,您無法發布一個會強制自己進行全域安裝或安裝在不同位置的模組。

此外,這個檔案不會在全域模式中讀取,例如執行 npm install -g 時。

使用者設定檔

$HOME/.npmrc(或 userconfig 參數,如果在環境或命令列中設定)

全域設定檔

$PREFIX/etc/npmrc(或 globalconfig 參數,如果在上面設定):這個檔案是 ini 檔案格式的 key = value 參數清單。環境變數可以如上所述替換。

內建設定檔

path/to/npm/itself/npmrc

這是一個不可變更的「內建」設定檔,npm 會在更新時保持一致。使用 npm 附帶的 ./configure 指令碼設定此處的欄位。這主要是供發行維護人員以標準且一致的方式覆寫預設設定。

設定 _auth_authTokenusername_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

另請參閱