Node.js パッケージを管理する

Artifact Registry は、npm で管理する Node.js パッケージをサポートしています。

概要

Artifact Registry の Node.js パッケージに慣れるには、クイックスタートをお試しください。

詳細をご確認いただく準備が整ったら、以下の情報をご覧ください。

  1. npm を初めて使用する場合は、次のコンセプトをお読みください。
  2. パッケージの Node.js パッケージ リポジトリを作成します。
  3. リポジトリに接続するアカウントに権限を付与する。Artifact Registry との一般的な統合に使用されるサービス アカウントには、同一のプロジェクト内のリポジトリに対するデフォルトの権限が割り当てられています。
  4. ツールを構成します。
  5. パッケージの管理について学習する。

スコープを使用する

npm スコープは、パッケージをグループ化するためのラベルです。スコープは、次のような複数の npm レジストリを操作する場合に必要です。

  • 1 つのレジストリから別のレジストリに切り替えずに、パッケージの公開とインストールを行う場合。たとえば、ビルドに公開 npm レジストリと Artifact Registry リポジトリの両方からのパッケージが含まれるケースです。
  • Google Cloud プロジェクトだけでなく他の npm レジストリにわたって、パッケージ名の競合問題を発生させずに、同じパッケージを複数の Artifact Registry リポジトリに公開する場合。

リポジトリのスコープを常に設定することをおすすめします。パッケージを公開またはインストールするときにスコープを指定しない場合、npm は構成済みのデフォルト レジストリ(公開 npm レジストリなど)を使用します。

.npmrc 構成ファイルで各 Artifact Registry リポジトリのスコープを設定します。認証用の同じ認証情報がリポジトリ全体に適用されます。

次の例は、異なるプロジェクトの 2 つの 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-projectblue-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 構成ファイルのドキュメントをご覧ください。