本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
配置和使用紗線CodeArtifact
建立儲存庫之後,您可以使用 Yarn 用戶端來管理 npm 套件。
注意
Yarn 1.X
讀取並使用您的 npm 配置文件(.npmrc)中的信息,而Yarn 2.X
沒有。的配置Yarn 2.X
必須在 .yarnrc.yml 檔案中定義。
配置紗線 1.Xaws codeartifact login
命令
對於Yarn 1.X
,您可以配置紗線CodeArtifact使用aws codeartifact login
指令。該login
命令將使用您的〜 /.npmrc 文件配置CodeArtifact儲存庫端點資訊和認證。同Yarn 1.X
,yarn
指令會使用 ~/.npmrc 檔案中的組態資訊。
若要設定Yarn 1.X
使用登錄命令
如果您尚未這樣做,請配置您的AWS憑證以搭配使用AWS CLI,如中所述入門 CodeArtifact。
若要執行
aws codeartifact login
命令成功,必須安裝 npm。請參閱下載和安裝 Node.js 和故宮在npm 文件以取得安裝說明。 使用
aws codeartifact login
要擷取的指令CodeArtifact憑據並配置您的 ~/.npmrc 文件。取代
我的網域名稱
與您的CodeArtifact網域名稱。取代
111122223333
與AWS網域擁有者的帳號 ID。如果您正在訪問您擁有的域中的存儲庫,則不需要包含--domain-owner
。如需詳細資訊,請參閱跨帳戶網域。取代
我的回購
與您的CodeArtifact儲存庫名稱。
aws codeartifact login --tool npm --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
該
login
指令對您的 ~/.npmrc 檔案進行下列變更:-
從中獲取後添加授權令牌CodeArtifact使用您的AWS認證。
-
將 npm 註冊表設置為由指定的存儲庫
--repository
選項。 -
對於 npm 6 及更低版本:添加
"always-auth=true"
所以授權令牌是為每個 npm 命令發送的。
調用後的默認授權期
login
是 12 小時,並且login
必須調用以定期刷新令牌。如需有關使用login
指令,請參閱使用 login命令建立的權杖。-
對於故宮 7.X 和 8.X,您必須新增
always-auth=true
到您的〜 /.npmrc 文件中以使用紗線。在文本編輯器中打開〜 /.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 }
配置紗線 2.X 與yarn config set
命令
下列程序詳細說明如何設定Yarn 2.X
通過更新您的.yarnrc.yml
從命令行配置yarn config set
指令。
若要更新yarnrc.yml
從命令行配置
如果您尚未這樣做,請配置您的AWS憑證以搭配使用AWS CLI,如中所述入門 CodeArtifact。
使用
aws codeartifact get-repository-endpoint
命令來獲取您的CodeArtifact儲存庫的端點。取代
我的網域名稱
與您的CodeArtifact網域名稱。取代
111122223333
與AWS網域擁有者的帳號 ID。如果您正在訪問您擁有的域中的存儲庫,則不需要包含--domain-owner
。如需詳細資訊,請參閱跨帳戶網域。取代
我的回購
與您的CodeArtifact儲存庫名稱。
aws codeartifact get-repository-endpoint --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--format npm更新
npmRegistryServer
使用存儲庫端點的 .yarnrc.yml 文件中的值。yarn config set npmRegistryServer "https://
my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/npm/my_repo
/"獲取一個CodeArtifact授權令牌並將其存儲在環境變量中。
注意
以下指令適用於 MacOS 或 Linux 電腦。如需在 Windows 電腦上設定環境變數的相關資訊,請參閱使用環境變數傳遞身分驗證權杖。
取代
我的網域名稱
與您的CodeArtifact網域名稱。取代
111122223333
與AWS網域擁有者的帳號 ID。如果您正在訪問您擁有的域中的存儲庫,則不需要包含--domain-owner
。如需詳細資訊,請參閱跨帳戶網域。取代
我的回購
與您的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
。