翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 --domainmy_domain--domain-owner111122223333--repositorymy_repologinコマンドを使用すると、~/.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 --domainmy_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 --domainmy_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 の値を確認することもできます。