網站導覽
目錄
registry
選擇 CLI 版本
目錄
說明
為了根據名稱和版本解析套件,npm 會與實作 CommonJS 套件登錄檔規格以讀取套件資訊的登錄檔網站進行通訊。
npm 預設設定為使用 https://registry.npmjs.org 上的npm 公用登錄檔。使用 npm 公用登錄檔須受條款約束,請參閱 https://npm-docs.dev.org.tw/policies/terms 取得條款。
您可以設定 npm 使用任何相容的登錄檔,甚至執行您自己的登錄檔。使用其他人的登錄檔可能會受其使用條款約束。
npm 的封裝註冊實作也支援多個寫入 API,以允許發佈封裝和管理使用者帳戶資訊。
npm 公共註冊庫由 CouchDB 資料庫提供支援,其公共鏡像位於 https://skimdb.npmjs.com/registry。
所使用的註冊庫 URL 由封裝範圍決定(請參閱 scope
)。如果未指定範圍,則使用由 registry
config 參數提供的預設註冊庫。請參閱 npm config
、npmrc
和 config
以進一步瞭解 npm 設定的管理方式。驗證設定(例如驗證權杖和憑證)會特別設定為特定於個別註冊庫的範圍。請參閱 驗證相關設定
當在封裝鎖定或封裝收縮中使用預設註冊庫時,它具有「目前設定的註冊庫」的特殊意義。如果您在使用預設註冊庫時建立鎖定檔案,您可以切換到另一個註冊庫,而 npm 將從新的註冊庫安裝封裝,但如果您在使用自訂註冊庫時建立鎖定檔案,則即使您切換到另一個註冊庫,封裝仍會從該註冊庫安裝。
npm 會將我的任何資訊傳送回登錄檔嗎?
是的。
在對註冊庫提出要求時,npm 會加入兩個標頭,其中包含有關您環境的資訊
Npm-Scope
– 如果您的專案有範圍,此標頭將包含其範圍。未來 npm 希望建立使用此資訊的註冊庫功能,讓您能夠為您的組織自訂您的體驗。Npm-In-CI
– 如果 npm 認為此安裝是在持續整合環境中執行,則設為「true」,否則設為「false」。這是透過尋找以下環境變數來偵測的:CI
、TDDIUM
、JENKINS_URL
、bamboo.buildKey
。如果您想進一步瞭解,您可能會發現 原始 PR 很有趣。這用於收集有關 npm 如何被人類使用(相對於建置農場)的更好指標。
npm 註冊庫不會嘗試將這些標頭中的資訊與可能在相同要求中使用的任何已驗證帳戶相關聯。
如何防止我的套件發佈在官方登錄檔中?
在您的 package.json
中設定 "private": true
以防止它被發佈,或 "publishConfig":{"registry":"http://my-internal-registry.local"}
以強制它僅發佈到您的內部/私人註冊庫。
請參閱 package.json
以進一步瞭解 package.json 檔案中的內容。