

Amazon CodeCatalyst 不再向新客戶開放。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[如何從 CodeCatalyst 遷移](migration.md)。

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

# 設定和使用 npm
<a name="packages-npm-use"></a>

若要`npm`搭配 CodeCatalyst 使用 ，您必須`npm`連線至套件儲存庫，並提供個人存取字符 (PAT) 以進行身分驗證。您可以在 CodeCatalyst 主控台中檢視`npm`連線至套件儲存庫的指示。

**Contents**
+ [使用 CodeCatalyst 設定 npm](#npm-configure)
+ [從 CodeCatalyst 套件儲存庫安裝 npm 套件](#npm-install)
+ [透過 CodeCatalyst 從 npmjs 安裝 npm 套件](#npm-install-npmjs)
+ [將 npm 套件發佈到您的 CodeCatalyst 套件儲存庫](#npm-publish)
+ [npm 命令支援](#npm-commands)
  + [與套件儲存庫互動的支援命令](#supported-commands-that-interact-with-a-repository)
  + [支援的用戶端命令](#supported-client-side-commands)
  + [不支援的命令](#unsupported-commands)

## 使用 CodeCatalyst 設定 npm
<a name="npm-configure"></a>

下列指示說明如何驗證並`npm`連線至 CodeCatalyst 套件儲存庫。如需 npm 的詳細資訊，請參閱[官方 npm 文件](https://docs.npmjs.com/)。

**`npm` 連線至 CodeCatalyst 套件儲存庫**

1. 在 https：//[https://codecatalyst.aws/](https://codecatalyst.aws/) 開啟 CodeCatalyst 主控台。

1. 導覽至您的專案。

1. 在導覽窗格中，選擇 **Packages (套件)**。

1. 從清單中選擇套件儲存庫。

1. 選擇**連線至儲存庫**。

1. 在**組態詳細資訊**的**套件管理員用戶端**中，選擇 **npm 用戶端**。

1. 選擇您的作業系統以檢視對應的組態步驟。

1. 需要個人存取字符 (PAT) 才能向 CodeCatalyst 驗證 npm。如果您已經有權杖，則可以使用它。如果沒有，您可以使用下列步驟建立一個。

   1. **（選用）：**更新 **PAT 名稱**和**過期日期**。

   1. 選擇**建立權杖**。

   1. 將 PAT 複製並存放在安全的位置。
**警告**  
關閉對話方塊後，您將無法再次查看或複製 PAT。登入資料應該短暫存在，以盡量減少攻擊者在盜用登入資料之後可以使用登入資料的時間長度。

1. 從專案的根目錄執行下列命令，以使用套件儲存庫設定 npm。這些命令會執行下列動作：
   + 如果您的專案沒有專案層級`.npmrc`檔案，請建立專案層級檔案。
   + 將套件儲存庫端點資訊新增至您的專案層級`.npmrc`檔案。
   + 將您的登入資料 (PAT) 新增至您的使用者層級`.npmrc`檔案。

   取代下列值。
**注意**  
如果您要從主控台指示複製 ，則會為您更新下列命令中的值，而且不需要變更。
   + 將*使用者名稱*取代為您的 CodeCatalyst 使用者名稱。
   + 將 *PAT* 取代為您的 CodeCatalyst PAT。
   + 以您的 CodeCatalyst 空間名稱取代 *space\$1name*。
   + 將 *proj\$1name* 取代為您的 CodeCatalyst 專案名稱。
   + 將 *repo\$1name* 取代為您的 CodeCatalyst 套件儲存庫名稱。

   ```
   npm set registry=https://packages.region.codecatalyst.aws/npm/space-name/proj-name/repo-name/ --location project
   npm set //packages.region.codecatalyst.aws/npm/space-name/proj-name/repo-name/:_authToken=username:PAT
   ```

   **對於 npm 6 或更低：**若要讓 npm 一律將驗證字符傳遞至 CodeCatalyst，即使對於`GET`請求，也請使用 設定永遠驗證組態變數`npm config set`，如下所示。

   ```
   npm set //packages.region.codecatalyst.aws/npm/space-name/proj-name/repo-name/:always-auth=true --location project
   ```

## 從 CodeCatalyst 套件儲存庫安裝 npm 套件
<a name="npm-install"></a>

依照中的步驟將 npm 連接到儲存庫後[使用 CodeCatalyst 設定 npm](#npm-configure)，您可以在儲存庫上執行`npm`命令。

您可以使用 `npm install`命令，在 CodeCatalyst 套件儲存庫或其其中一個上游儲存庫中安裝 npm 套件。

```
npm install lodash
```

## 透過 CodeCatalyst 從 npmjs 安裝 npm 套件
<a name="npm-install-npmjs"></a>

您可以透過 CodeCatalyst 儲存庫從 [npmjs.com](https://www.npmjs.com/) 安裝 npm 套件，方法是將儲存庫設定為與連接至 npmjs.com、**npm-public-registry-gateway** 的閘道儲存庫有上游連線。從 npmjs 安裝的套件會擷取並存放在閘道儲存庫，以及最遠的下游套件儲存庫中。

**從 npmjs 安裝套件**

1. 如果您尚未這麼做，請依照中的步驟`npm`，使用 CodeCatalyst 套件儲存庫進行設定[使用 CodeCatalyst 設定 npm](#npm-configure)。

1. 檢查您的儲存庫是否已新增閘道儲存庫 **npm-public-registry-gateway** 做為上游連線。您可以依照 中的指示[新增上游儲存庫](packages-upstream-repositories-add.md)並選擇 **npm-public-registry-gateway** 儲存庫，來檢查要新增哪些上游來源，或新增 **npm-public-registry-gateway** 做為上游來源。

1. 使用 `npm install`命令安裝套件。

   ```
   npm install package_name
   ```

如需從上游儲存庫請求套件的詳細資訊，請參閱 [使用上游儲存庫請求套件版本](packages-upstream-repositories-request.md)。

## 將 npm 套件發佈到您的 CodeCatalyst 套件儲存庫
<a name="npm-publish"></a>

完成 後[使用 CodeCatalyst 設定 npm](#npm-configure)，您可以執行 `npm` 命令。

您可以使用 `npm publish`命令將 npm 套件發佈至 CodeCatalyst 套件儲存庫。

```
npm publish
```

如需如何建立 npm 套件的資訊，請參閱在 *npm 文件*上[建立 Node.js 模組](https://docs.npmjs.com/getting-started/creating-node-modules)。

## npm 命令支援
<a name="npm-commands"></a>

下列各節摘要說明 CodeCatalyst 套件儲存庫支援的`npm`命令，以及列出不支援的特定命令。

**Topics**
+ [與套件儲存庫互動的支援命令](#supported-commands-that-interact-with-a-repository)
+ [支援的用戶端命令](#supported-client-side-commands)
+ [不支援的命令](#unsupported-commands)

### 與套件儲存庫互動的支援命令
<a name="supported-commands-that-interact-with-a-repository"></a>

本節列出 `npm` 命令，其中`npm`用戶端會對其設定的登錄檔提出一或多個請求 （例如 `npm config set registry`)。已驗證這些命令在針對 CodeCatalyst 套件儲存庫調用時可正常運作。


****  

| 命令 | Description | 
| --- | --- | 
|   [錯誤](https://docs.npmjs.com/cli/bugs)   |  猜測套件錯誤追蹤器 URL 的位置，然後嘗試開啟它。  | 
|   [ci](https://docs.npmjs.com/cli/ci)   |  安裝具有乾淨板塊的專案。  | 
|   [棄用](https://docs.npmjs.com/cli/deprecate)   |  棄用套件的版本。  | 
|   [dist-tag](https://docs.npmjs.com/cli/dist-tag)   |  修改套件分佈標籤。  | 
|   [文件](https://docs.npmjs.com/cli/docs)   |  猜測套件文件 URL 的位置，然後使用 `--browser` 組態參數嘗試開啟它。  | 
|   [醫生](https://docs.npmjs.com/cli/doctor)   |  執行一組檢查，以驗證您的 npm 安裝是否可以管理您的 JavaScript 套件。  | 
|   [安裝](https://docs.npmjs.com/cli/install)   |  安裝套件。  | 
|   [install-ci-test](https://docs.npmjs.com/cli/install-ci-test)   |  安裝具有乾淨板塊的專案並執行測試。別名：`npm cit`。此命令會執行 `npm ci`，後面接著 `npm test`。  | 
|   [install-test](https://docs.npmjs.com/cli/install-test)   |  安裝套件並執行測試。執行 `npm install`，後面接著 `npm test`。  | 
|   [過時](https://docs.npmjs.com/cli/outdated)   |  檢查設定的登錄檔，以判斷任何已安裝的套件是否已過時。  | 
|   [ping](https://docs.npmjs.com/cli/ping)   |  Ping 已設定或指定的 npm 登錄檔，並驗證身分驗證。  | 
|   [發佈](https://docs.npmjs.com/cli/publish)   |  將套件版本發佈至登錄檔。  | 
|   [update](https://docs.npmjs.com/cli/update)   |  猜測套件儲存庫 URL 的位置，然後使用 `--browser` 組態參數嘗試開啟它。  | 
|   [檢視](https://docs.npmjs.com/cli/view)   |  顯示套件中繼資料。也可以用來列印中繼資料屬性。  | 

### 支援的用戶端命令
<a name="supported-client-side-commands"></a>

這些命令不需要與套件儲存庫進行任何直接互動，因此 CodeCatalyst 不需要任何支援。


****  

| 命令 | Description | 
| --- | --- | 
|   [bin （舊版）](https://docs.npmjs.com/cli/v8/commands/npm-bin)   |  顯示 npm `bin`目錄。  | 
|   [組建](https://docs.npmjs.com/cli/v6/commands/npm-build)   |  建置套件。  | 
|   [快取](https://docs.npmjs.com/cli/cache)   |  操作套件快取。  | 
|   [完成](https://docs.npmjs.com/cli/completion)   |  在所有 npm 命令中啟用索引標籤完成。  | 
|   [組態](https://docs.npmjs.com/cli/config)   |  更新使用者和全域`npmrc`檔案的內容。  | 
|   [資料刪除](https://docs.npmjs.com/cli/dedupe)   |  搜尋本機套件樹狀目錄，並嘗試透過將相依性進一步移動至樹狀目錄來簡化結構，讓多個相依套件更有效地共用這些樹狀目錄。  | 
|   [編輯](https://docs.npmjs.com/cli/edit)   |  編輯已安裝的套件。選取目前工作目錄中的相依性，並在預設編輯器中開啟套件目錄。  | 
|   [探索](https://docs.npmjs.com/cli/explore)   |  瀏覽已安裝的套件。在指定已安裝套件的 目錄中產生子殼。如果指定命令，則會在 subshell 中執行，然後立即關閉。  | 
|   [help](https://docs.npmjs.com/cli/help)   |  取得 npm 的說明。  | 
|   [help-search](https://docs.npmjs.com/cli/help-search)   |  搜尋 npm 說明文件。  | 
|   [init](https://docs.npmjs.com/cli/init)   |  建立 `package.json` 檔案。  | 
|   [連結](https://docs.npmjs.com/cli/link)   |  Symlink 套件目錄。  | 
|   [ls](https://docs.npmjs.com/cli/ls)   |  列出已安裝的套件。  | 
|   [套件](https://docs.npmjs.com/cli/pack)   |  從套件建立 tarball。  | 
|   [prefix](https://docs.npmjs.com/cli/prefix)   |  顯示字首。除非`-g`另有指定，否則這是包含`package.json`檔案的最接近的父目錄。  | 
|   [黑](https://docs.npmjs.com/cli/prune)棗   |  移除未列在父套件相依性清單上的套件。  | 
|   [重建](https://docs.npmjs.com/cli/rebuild)   |  在相符的資料夾上執行 `npm build`命令。  | 
|   [重新啟動](https://docs.npmjs.com/cli/restart)   |  執行套件的停止、重新啟動和啟動指令碼，以及相關聯的前綴和後綴。  | 
|   [根](https://docs.npmjs.com/cli/root)   |  列印要標準輸出的有效`node_modules`目錄。  | 
|   [run-script](https://docs.npmjs.com/cli/run-script)   |  執行任意套件指令碼。  | 
|   [shrinkwrap](https://docs.npmjs.com/cli/shrinkwrap)   |  鎖定要發佈的相依性版本。  | 
|   [解除安裝](https://docs.npmjs.com/cli/uninstall)   |  解除安裝套件。  | 

### 不支援的命令
<a name="unsupported-commands"></a>

CodeCatalyst 套件儲存庫不支援這些`npm`命令。


****  

| 命令 | Description | 備註 | 
| --- | --- | --- | 
|   [存取](https://docs.npmjs.com/cli/access)   |  設定已發佈套件的存取層級。  |  CodeCatalyst 使用與公有 npmjs 儲存庫不同的許可模型。  | 
|   [adduser](https://docs.npmjs.com/cli/adduser)   |  新增登錄使用者帳戶  |  CodeCatalyst 使用與公有 npmjs 儲存庫不同的使用者模型。  | 
|   [稽核](https://docs.npmjs.com/cli/audit)   |  執行安全稽核。  |  CodeCatalyst 目前不會提供安全漏洞資料。  | 
|   [勾點](https://docs.npmjs.com/cli/v9/commands/npm-hook)   |  管理 npm 勾點，包括新增、移除、列出和更新。  |  CodeCatalyst 目前不支援任何變更通知機制。  | 
|   [登入](https://docs.npmjs.com/cli-commands/adduser.html)   |  驗證使用者。這是 `npm adduser` 的別名。  |  CodeCatalyst 使用與公有 npmjs 儲存庫不同的身分驗證模型。如需相關資訊，請參閱[使用 CodeCatalyst 設定 npm](#npm-configure)。  | 
|   [登出](https://docs.npmjs.com/cli/logout)   |  登出登錄檔。  |  CodeCatalyst 使用與公有 npmjs 儲存庫不同的身分驗證模型。您無法從 CodeCatalyst 儲存庫登出，但身分驗證字符會在其可設定的過期時間後過期。預設字符持續時間為 12 小時。  | 
|   [擁有者](https://docs.npmjs.com/cli/owner)   |  管理套件擁有者。  |  CodeCatalyst 使用與公有 npmjs 儲存庫不同的許可模型。  | 
|   [profile](https://docs.npmjs.com/cli/profile)   |  變更登錄檔設定檔上的設定。  |  CodeCatalyst 使用與公有 npmjs 儲存庫不同的使用者模型。  | 
|   [search](https://docs.npmjs.com/cli/search)   |  搜尋登錄檔中符合搜尋詞彙的套件。  |  CodeCatalyst 不支援 `search`命令。  | 
|   [星星](https://docs.npmjs.com/cli/star)   |  標記您最愛的套件。  |  CodeCatalyst 目前不支援任何我的最愛機制。  | 
|   [星星](https://docs.npmjs.com/cli/stars)   |  檢視標記為我的最愛之套件。  |  CodeCatalyst 目前不支援任何我的最愛機制。  | 
|   [團隊](https://docs.npmjs.com/cli/team)   |  管理團隊和團隊成員資格。  |  CodeCatalyst 使用與公有 npmjs 儲存庫不同的使用者和群組成員資格模型。  | 
|   [t](https://docs.npmjs.com/cli/token)oken   |  管理您的身分驗證字符。  |  CodeCatalyst 使用不同的模型來取得身分驗證字符。如需相關資訊，請參閱[使用 CodeCatalyst 設定 npm](#npm-configure)。  | 
|   [取消發佈](https://docs.npmjs.com/cli/unpublish)   |  從登錄檔中移除套件。  |  CodeCatalyst 不支援使用 npm 用戶端從儲存庫移除套件版本。您可以在 主控台中刪除套件。  | 
|   [whoami](https://docs.npmjs.com/cli/whoami)   |  顯示 npm 使用者名稱。  |  CodeCatalyst 使用與公有 npmjs 儲存庫不同的使用者模型。  | 