Node.js パッケージの操作

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

パッケージ管理はアルファ版です。これはアルファ版のユーザーにのみご利用いただけます。コンテナ管理で利用できる機能がすべて含まれているとは限りません。アルファ版のお申し込みには、登録フォームをご利用ください。

概要

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

詳しくは、以下の情報をご覧ください。

  1. npm を初めて使用する場合は、次のコンセプトをお読みください。
  2. パッケージの npm リポジトリを作成します。
  3. リポジトリに接続するアカウントに権限を付与します。Artifact Registry との一般的な統合に使用されるサービス アカウントには、同一のプロジェクト内のリポジトリに対するデフォルトの権限が割り当てられています。
  4. リポジトリで認証するように npm を構成する。
  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/:_authToken=""
//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 です。Artifact Registry に使用される設定を次に示します。

  • パブリック npm レジストリの認証情報

    他のユーザーに使用されないよう、ユーザー構成ファイルに公開 npm レジストリ(https://registry.npmjs.org/)の認証情報を保存します。このファイルはユーザーのホーム ディレクトリに置かれるか、npm の --userconfig パラメータまたは $NPM_CONFIG_USERCONFIG 環境変数で設定されます。Artifact Registry リポジトリで認証するための Artifact Registry ツールは、公開 npm レジストリにあります。

  • Artifact Registry リポジトリに接続するための設定

    Artifact Registry リポジトリの設定は、次の npm 構成ファイルのいずれかに保存できます。

    • プロジェクトごとの構成ファイル。この .npmrc ファイルは通常、npm プロジェクトの package.json ファイルと同じディレクトリにあります。これは最も簡単な方法です。

    • ユーザーごとの構成ファイル。このファイルはユーザーのホーム ディレクトリに置かれるか、npm の --userconfig パラメータまたは $NPM_CONFIG_USERCONFIG 環境変数で設定されます。

    • グローバル構成ファイル$PREFIX/etc/npmrc)。$PREFIX の値を取得するには、npm prefix -g コマンドを実行します。

ユーザーは、npmrc ファイルに構成された既存のデフォルト レジストリを保持する必要があります。デフォルトは通常、https://registry.npmjs.org/ の公開 npm レジストリに設定されています。

現在のデフォルトのレジストリ値を確認するには、次のコマンドを実行します。

npm get registry

npm 構成ファイルの詳細については、npm 構成ファイルのドキュメントをご覧ください。