npm 標籤處理 - Amazon CodeCatalyst

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

npm 標籤處理

npm 註冊表支持標籤,這是包版本的字符串別名。您可以使用標籤來提供別名,而不是使用版本號碼。例如,您有一個具有多個開發流的項目,並且為每個流使用不同的標籤(例如 stablebetadev,,canary)。有關更多信息,請參閱 npm檔上的 dist-tag

依預設,npm 會使用latest標籤來識別套件的目前版本。 npm install pkg(沒有@version@tag說明符)安裝最新的標籤。一般而言,專案只會針對穩定版本使用最新標籤。其他標籤用於不穩定版或預發布版本。

使用 npm 用戶端編輯標籤

這三個npm dist-tag命令 (addrm、和ls) 在 CodeCatalyst 套件儲存庫中的運作方式與它們在預設 npm 登錄中的運作方式相同。

npm 標籤和上游存儲庫

npm要求套件的標籤以及該套件的版本也存在於上游存放庫中時,會先 CodeCatalyst 合併標籤,然後再將它們傳回給用戶端。例如,名為的存放庫R有一個名為的上游存放庫U。下表顯示兩個儲存庫中存在web-helper的套件的標籤。

儲存庫 套件名稱 Package 標籤

R

web-helper

最新(別名版本 1.0.0)

U

web-helper

阿爾法(版本 1.0.1 的別名)

在這種情況下,當 npm 客戶端從存儲庫獲取web-helper包的標籤時R,它會同時接收最alpha 標籤。標籤指向的版本不會更改。

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

儲存庫 套件名稱 Package 標籤 上次更新

R

web-helper

最新(別名版本 1.0.0)

2023年1月1日

U

web-helper

最新的(別名版本 1.0.1)

2023 年 6 月 1 日

在這種情況下,當 npm 客戶端從存儲庫獲取包 webhelper 的標籤時R最新的標籤將別名版本 1.0.1,因為它是最後更新的。這可讓您輕鬆使用上游儲存庫中尚未存在於本機儲存庫中的新套件版本npm update