

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

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

# npm 標籤處理
<a name="packages-npm-tags"></a>

npm 登錄檔支援*標籤*，這些標籤是套件版本的字串別名。您可以使用標籤來提供別名，而不是使用版本號碼。例如，您有一個具有多個開發串流的專案，並為每個串流使用不同的標籤 （例如，、`stable``beta`、`dev`、`canary`)。如需詳細資訊，請參閱 *npm 文件*上的 [dist-tag](https://docs.npmjs.com/cli/dist-tag)。

根據預設，npm 會使用 `latest`標籤來識別套件的目前版本。 `npm install {{pkg}}`（不含 `@{{version}}`或 `@{{tag}}` 指標） 會安裝最新的標籤。一般而言，專案只會使用最新的標籤來提供穩定的發行版本。其他標籤用於不穩定或發行前版本。

## 使用 npm 用戶端編輯標籤
<a name="editing-tags-with-the-npm-client"></a>

 三個`npm dist-tag`命令 (`add`、 `rm`和 `ls`) 在 CodeCatalyst 套件儲存庫中的運作方式與在[預設 npm 登錄](https://registry.npmjs.com/)檔中的運作方式相同。

## npm 標籤和上游儲存庫
<a name="packages-tags-and-upstreams"></a>

當 `npm`請求套件的標籤和該套件的版本也存在於上游儲存庫時，CodeCatalyst 會在將標籤傳回用戶端之前合併標籤。例如，名為 的儲存庫`R`具有名為 的上游儲存庫`U`。下表顯示兩個儲存庫中存在`web-helper`的名為 之套件的標籤。


****  

| 儲存庫 | 套件名稱 | 套件標籤 | 
| --- | --- | --- | 
| R | `web-helper` |  *最新* (1.0.0 版的別名） | 
| U | `web-helper` |  *alpha* (1.0.1 版的別名） | 

在此情況下，當 npm 用戶端從儲存庫 擷取`web-helper`套件的標籤時`R`，它會同時接收*最新*和 *Alpha* 標籤。標籤指向的版本不會變更。

當上游和本機儲存庫中的相同套件上都存在相同的標籤時，CodeCatalyst 會使用*上次更新的*標籤。例如，假設 *webhelper* 上的標籤已修改為如下所示。


****  

| 儲存庫 | 套件名稱 | 套件標籤 | 上次更新 | 
| --- | --- | --- | --- | 
| R | `web-helper` |  *最新* (1.0.0 版的別名） | 2023 年 1 月 1 日 | 
| U | `web-helper` |  *最新* (1.0.1 版的別名） | 2023 年 6 月 1 日 | 

在此情況下，當 npm 用戶端從儲存庫 擷取套件 *Web-helper* 的標籤時`R`，*最新的*標籤會將 *1.0.1* 版設為別名，因為它上次更新。這可讓您透過執行 ，輕鬆地在尚未存在於本機儲存庫的上游儲存庫中使用新的套件版本`npm update`。