選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

搭配 設定和使用 npm CodeArtifact

焦點模式
搭配 設定和使用 npm CodeArtifact - CodeArtifact

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 中建立儲存庫之後 CodeArtifact,您可以使用 npm 用戶端來安裝和發佈套件。使用儲存庫端點和授權權杖設定 npm 的建議方法是使用 aws codeartifact login命令。您也可以手動設定 npm。

使用登入命令設定 npm

使用 aws codeartifact login命令來擷取憑證,以便與 npm 搭配使用。

注意

如果您要存取您擁有網域中的儲存庫,則不需要包含 --domain-owner。如需詳細資訊,請參閱跨帳戶網域

重要

如果您使用的是 npm 10.x 或更新版本,則必須使用 2 AWS CLI .9.5 或更新版本才能成功執行aws codeartifact login命令。

aws codeartifact login --tool npm --domain my_domain --domain-owner 111122223333 --repository my_repo

此命令會對 ~/.npmrc 檔案進行下列變更:

  • CodeArtifact 使用憑證 AWS 從中擷取授權權杖後,新增授權權杖。

  • 將 npm 登錄檔設定為 --repository選項指定的儲存庫。

  • 對於 npm 6 和更低:新增 ,"always-auth=true"以便為每個 npm 命令傳送授權權杖。

呼叫後的預設授權期間login為 12 小時,login必須呼叫 以定期重新整理權杖。如需使用 login命令建立的授權權杖的詳細資訊,請參閱 使用 login命令建立的權杖

不使用登入命令設定 npm

您可以使用儲存 CodeArtifact 庫設定 npm,無需 aws codeartifact login命令,方法是手動更新 npm 組態。

不使用登入命令設定 npm
  1. 在命令列中,擷取 CodeArtifact 授權權杖並將其存放在環境變數中。npm 將使用此權杖與您的 CodeArtifact 儲存庫進行身分驗證。

    注意

    下列命令適用於 macOS 或 Linux 機器。如需在 Windows 電腦上設定環境變數的資訊,請參閱 使用環境變數傳遞身分驗證權杖

    CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
  2. 執行下列命令,取得儲存 CodeArtifact 庫的端點。您的儲存庫端點用於將 npm 指向儲存庫,以安裝或發佈套件。

    • Replace (取代) my_domain 您的 CodeArtifact 網域名稱。

    • Replace (取代) 111122223333 網域擁有者的帳戶 AWS ID。如果您要存取您擁有網域中的儲存庫,則不需要包含 --domain-owner。如需詳細資訊,請參閱跨帳戶網域

    • Replace (取代) my_repo 您的 CodeArtifact 儲存庫名稱。

    aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format npm

    以下是URL範例儲存庫端點。

    https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/
    重要

    登錄URL檔必須以正斜線 (/) 結尾。否則,您無法連線至儲存庫。

  3. 使用 npm config set命令將登錄檔設定為您的 CodeArtifact 儲存庫。將 取代URL為上URL一個步驟的儲存庫端點。

    npm config set registry=https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/
    注意

    若要使用雙堆疊端點,請使用 codeartifact.region.on.aws端點。

  4. 使用 npm config set命令將授權權杖新增至您的 npm 組態。

    npm config set //my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/:_authToken=$CODEARTIFACT_AUTH_TOKEN

    對於 npm 6 或更低:若要讓 npm 一律將驗證權杖傳遞至 CodeArtifact,即使對於GET請求,也請使用 設定always-auth組態變數npm config set

    npm config set //my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/:always-auth=true

範例 npm 組態檔案 (.npmrc

以下是遵循上述指示設定 CodeArtifact 登錄端點、新增身分驗證字符和設定 之後的範例.npmrc檔案always-auth

registry=https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my-cli-repo/ //my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/:_authToken=eyJ2ZX... //my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/:always-auth=true

執行 npm 命令

設定 npm 用戶端後,您可以執行 npm 命令。假設您的儲存庫或其中一個上游儲存庫中存在套件,您可以使用 安裝套件npm install。例如,使用下列項目安裝lodash套件。

npm install lodash

使用以下命令將新的 npm 套件發佈至 CodeArtifact 儲存庫。

npm publish

如需有關如何建立 npm 套件的資訊,請參閱在 npm 文件網站上建立 Node.js 模組。如需 支援的 npm 命令清單 CodeArtifact,請參閱 npm Command Support

驗證 npm 身分驗證和授權

叫用 npm ping命令是一種驗證下列項目的方法:

  • 您已正確設定憑證,以便對 CodeArtifact 儲存庫進行身分驗證。

  • 授權組態會授予您ReadFromRepository許可。

成功叫用 的輸出npm ping如下所示。

$ npm -d ping npm info it worked if it ends with ok npm info using npm@6.4.1 npm info using node@v9.5.0 npm info attempt registry request try #1 at 4:30:59 PM npm http request GET https://<domain>.d.codeartifact.us-west-2.amazonaws.com/npm/shared/-/ping?write=true npm http 200 https:///npm/shared/-/ping?write=true Ping success: {} npm timing npm Completed in 716ms npm info ok

-d 此選項會導致 npm 列印其他偵錯資訊,包括儲存庫 URL。此資訊可讓您輕鬆地確認 npm 已設定為使用您預期的儲存庫。

變更回預設 npm 登錄檔

使用 設定 npm 將 npm 登錄 CodeArtifact 檔設定為指定的 CodeArtifact 儲存庫。當您完成連線至 時,您可以執行下列命令,將 npm 登錄檔設回其預設登錄檔 CodeArtifact。

npm config set registry https://registry.npmjs.com/

使用 npm 8.x 或更高版本對慢速安裝進行故障診斷

在 npm 8.x 版及更高版本中存在已知問題,如果向套件儲存庫提出請求,且儲存庫將用戶端重新導向至 Amazon S3,而不是直接串流資產,則 npm 用戶端可以每個相依性掛起幾分鐘。

由於 CodeArtifact 儲存庫的設計是要一律將請求重新導向至 Amazon S3,因此有時候會發生此問題,這會導致建置時間過長,因為 npm 安裝時間過長。此行為的執行個體會以進度列的形式顯示自己幾分鐘。

若要避免此問題,請使用 --no-progressprogress=false標記搭配 npm cli 命令,如下列範例所示。

npm install lodash --no-progress

下一個主題:

配置和使用紗線

上一個主題:

使用 npm
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。