管理 Node.js 套件

Artifact Registry 支援您透過 npm 管理的 Node.js 套件。

總覽

如要熟悉 Artifact Registry 中的 Node.js 套件,可以試試快速入門

如要進一步瞭解,請參閱以下資訊:

  1. 如果您是 npm 新手,請參閱以下概念:
  2. 為套件建立 Node.js 套件存放區
  3. 權限授予將連結至存放區的帳戶。與 Artifact Registry 的常見整合服務帳戶,會針對同一個專案中的存放區提供預設權限
  4. 設定工具:
  5. 瞭解如何管理套件

使用範圍

npm 範圍是用來分組套件的標籤。使用多個 npm 登錄項時,就需要使用範圍,包括:

  • 在不同登錄檔中發布及安裝套件,不必從一個登錄檔切換至另一個登錄檔。舉例來說,您的建構作業可能會同時納入公開 npm 登錄和 Artifact Registry 存放區的套件。
  • 將相同套件發布至多個 Artifact Registry 存放區 (跨 Google Cloud 專案) 以及其他 npm 註冊中心,且不會發生套件名稱衝突。

建議您一律為存放區設定範圍。如果您在發布或安裝套件時未指定範圍,npm 會使用已設定的預設登錄,例如公開 npm 登錄。

您可以在 .npmrc 設定檔中設定每個 Artifact Registry 存放區的範圍。在各個存放區中使用相同的驗證憑證。

以下範例顯示不同專案中兩個 Artifact Registry 存放區的設定。

  • @blue 範圍適用於專案 blue-project 中的存放區。
  • @green 範圍適用於專案 green-project 中的存放區。
@blue:registry=https://us-central1-npm.pkg.dev/blue-project/blue-npm-repo/
//us-central1-npm.pkg.dev/blue-project/blue-npm-repo/:always-auth=true

@green:registry=https://us-central1-npm.pkg.dev/green-project/green-npm-repo/
//us-central1-npm.pkg.dev/green-project/green-npm-repo/:_authToken=""
//us-central1-npm.pkg.dev/green-project/green-npm-repo/:always-auth=true

完成 Artifact Registry 驗證後,您可以使用適當的範圍,將套件上傳至特定存放區。舉例來說,下列指令會將套件上傳至專案 blue-project 中的 blue-npm-repo

npm publish @blue/blue-npm-repo

如要進一步瞭解範圍,請參閱 npm 說明文件

設定 npm

用於驗證的設定會儲存在 .npmrc 設定檔中。您可以在專案、使用者或全域層級設定 .npmrc 檔案。

使用 Artifact Registry 設定驗證機制時,您必須定義要連結的存放區,以及驗證機制的憑證。

Artifact Registry 存放區

建議您在個別專案設定檔中設定存放區清單。這個檔案通常位於 npm 專案中的 package.json 檔案所在的目錄中。根據預設,Artifact Registry 憑證輔助程式會檢查存放區的這個 .npmrc 檔案。

如果您不想在原始碼控管系統中公開存放區路徑,可以採取以下做法:

  • .npmrc 檔案名稱新增至來源控制系統的忽略檔案清單。
  • 請改為將存放區清單儲存在個別使用者設定檔中。每個使用者的 .npmrc 檔案位於使用者主目錄中,或透過 npm --userconfig 參數或 $NPM_CONFIG_USERCONFIG 環境變數設定。除非您在專案層級覆寫,否則個別使用者設定檔中的設定會套用至所有專案。
Artifact Registry 憑證

請將 Artifact Registry 的憑證儲存在個別使用者設定檔中,這樣其他使用者就無法存取。這個檔案位於使用者主目錄中,或透過 npm --userconfig 參數或 $NPM_CONFIG_USERCONFIG 環境變數設定。

Artifact Registry 憑證輔助程式會儲存在公開 npm 登錄檔中,安裝時不需要驗證。

您應保留 .npmrc 檔案中設定的任何現有預設登錄。預設值通常會設為 https://registry.npmjs.org/ 的公開 npm 登錄。

如要查看目前的預設登錄機碼值,請執行下列指令:

npm get registry

如要進一步瞭解 npm 設定檔,請參閱 npm 設定檔說明文件。