翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CodeArtifact で Yarn を設定して使用する
リポジトリを作成すると、Yarn クライアントを使用して npm パッケージを管理できます。
注記
Yarn 1.X
は npm 設定ファイル (.npmrc) から情報を読み取り、使用します。一方、Yarn 2.X
はこれを行いません。Yarn 2.X
の設定は .yarnrc.yml ファイルで定義する必要があります。
aws codeartifact login
コマンドを使用して Yarn 1.X を設定します。
Yarn 1.X
の場合では、aws codeartifact login
コマンドを使用して CodeArtifact で Yarn を設定できます。login
コマンドは、CodeArtifact リポジトリのエンドポイント情報と認証情報を使用して ~/.npmrc ファイルを設定します。Yarn 1.X
と yarn
コマンドは、 ~/.npmrc ファイルの設定情報を使用します。
login コマンドを使用して Yarn 1.X
を設定するには
まだ設定していない場合は、CodeArtifact の開始方法 に記述されているように、AWS CLI で使用するための AWS 認証情報を設定します。
aws codeartifact login
コマンドを正常に実行するには、npm をインストールする必要があります。インストール手順については、npm ドキュメント の Node.js と npm のダウンロードとインストールを参照してください。 aws codeartifact login
コマンドを使用して CodeArtifact 認証情報を取得し、~/.npmrc ファイルを設定します。my_domain
を CodeArtifact ドメイン名で置き換えます。111122223333
をAWS ドメインの所有者のアカウント ID で置き換えます。所有しているドメインのリポジトリにアクセスする場合は、--domain-owner
を含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。my_repo
を CodeArtifact リポジトリ名で置き換えます。
aws codeartifact login --tool npm --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
login
コマンドを使用すると、~/.npmrc ファイルに次の変更が行われます。-
AWS 認証情報を使用して CodeArtifact からフェッチした後、認可トークンを追加します。
-
npm レジストリを、
--repository
オプションで指定されたリポジトリに設定します。 -
npm 6 以下の場合:
"always-auth=true"
を追加すると、認可トークンはすべての npm コマンドに対して送信されます。
login
を呼び出した後のデフォルトの認可期間は12時間であり、トークンを定期的に更新するにはlogin
を呼び出す必要があります。login
コマンドを使用して作成された認可トークンの詳細については、「loginコマンドで作成されたトークン」を参照してください。-
npm 7.X および 8.X の場合は、
always-auth=true
を~/.npmrc ファイルに追加して Yarn を使用する必要があります。~/.npmrc ファイルをテキストエディタで開き、
always-auth=true
を新しい行に追加します。
yarn config list
コマンドを使用して、Yarn が正しい設定を使用していることを確認できます。コマンドを実行した後、info npm
config
セクションの値をチェックします。コンテンツは次のスニペットのようになります。
info npm config { registry: 'https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/', '//my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/:_authToken': 'eyJ2ZXI...', 'always-auth': true }
yarn config set
コマンドを使用して Yarn 2.X を設定します。
次の手順は、yarn config set
コマンドを使用して、コマンドラインから .yarnrc.yml
設定を更新して Yarn 2.X
を設定する方法の詳細です。
コマンドラインから yarnrc.yml
設定を更新するには
まだ設定していない場合は、CodeArtifact の開始方法 に記述されているように、AWS CLI で使用するための AWS 認証情報を設定します。
aws codeartifact get-repository-endpoint
コマンドを使用して、CodeArtifact リポジトリのエンドポイントを取得します。my_domain
を CodeArtifact ドメイン名で置き換えます。111122223333
をAWS ドメインの所有者のアカウント ID で置き換えます。所有しているドメインのリポジトリにアクセスする場合は、--domain-owner
を含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。my_repo
を CodeArtifact リポジトリ名で置き換えます。
aws codeartifact get-repository-endpoint --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--format npmリポジトリエンドポイントを使用して、.yarnrc.yml ファイルで
npmRegistryServer
値を更新します。yarn config set npmRegistryServer "https://
my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/npm/my_repo
/"CodeArtifact 認可トークンを取得し、環境変数に保存します。
注記
次のコードは、Linux と MacOS 用です。Windows での環境変数の設定については、「環境変数を使用して認証トークンを渡す」を参照してください。
my_domain
を CodeArtifact ドメイン名で置き換えます。111122223333
をAWS ドメインの所有者のアカウント ID で置き換えます。所有しているドメインのリポジトリにアクセスする場合は、--domain-owner
を含める必要はありません。詳細については、「クロスアカウントドメイン」を参照してください。my_repo
を CodeArtifact リポジトリ名で置き換えます。
export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain
my_domain
--domain-owner111122223333
--query authorizationToken --output text`-
yarn config set
コマンドを使用して、CodeArtifact 認可トークンを .yarnrc.yml ファイルに追加します。次のコマンドの URL を、ステップ 2 のリポジトリエンドポイントの URL に置き換えます。yarn config set 'npmRegistries["https://
my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/npm/my_repo
/"].npmAuthToken' "${CODEARTIFACT_AUTH_TOKEN}" -
yarn config set
コマンドを使用して、npmAlwaysAuth
の値をtrue
に設定します。次のコマンドの URL を、ステップ 2 のリポジトリエンドポイントの URL に置き換えます。yarn config set 'npmRegistries["https://
my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/npm/my_repo
/"].npmAlwaysAuth' "true"
設定後、.yarnrc.yml 設定ファイルには、次のスニペットに似た内容が含まれている必要があります。
npmRegistries: "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/": npmAlwaysAuth: true npmAuthToken: eyJ2ZXI... npmRegistryServer: "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/"
また、 yarn config
コマンドを使用して、npmRegistries
および npmRegistryServer
の値を確認することもできます。