本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
npm 標籤處理
npm 註冊表支持標籤,這是包版本的字符串別名。您可以使用標籤來提供別名,而不是使用版本號碼。例如,您有一個具有多個開發流的項目,並且為每個流使用不同的標籤(例如 stable
beta
,dev
,,canary
)。有關更多信息,請參閱 npm 文檔上的 dist-tag
依預設,npm 會使用latest
標籤來識別套件的目前版本。 npm install
(沒有pkg
@
或version
@
說明符)安裝最新的標籤。一般而言,專案只會針對穩定版本使用最新標籤。其他標籤用於不穩定版或預發布版本。tag
使用 npm 用戶端編輯標籤
這三個npm dist-tag
命令 (add
、rm
、和ls
) 在 CodeCatalyst 套件儲存庫中的運作方式與它們在預設 npm 登錄
npm 標籤和上游存儲庫
當npm
要求套件的標籤以及該套件的版本也存在於上游存放庫中時,會先 CodeCatalyst 合併標籤,然後再將它們傳回給用戶端。例如,名為的存放庫R
有一個名為的上游存放庫U
。下表顯示兩個儲存庫中存在web-helper
的套件的標籤。
儲存庫 | 套件名稱 | Package 標籤 |
---|---|---|
R |
|
最新(別名版本 1.0.0) |
U |
|
阿爾法(版本 1.0.1 的別名) |
在這種情況下,當 npm 客戶端從存儲庫獲取web-helper
包的標籤時R
,它會同時接收最新和 alpha 標籤。標籤指向的版本不會更改。
當上游和本機存放庫中的相同套件上存在相同的標籤時, CodeCatalyst 會使用上次更新的標籤。例如,假設 webhelper 上的標籤已被修改為如下所示。
儲存庫 | 套件名稱 | Package 標籤 | 上次更新 |
---|---|---|---|
R |
|
最新(別名版本 1.0.0) |
2023年1月1日 |
U |
|
最新的(別名版本 1.0.1) |
2023 年 6 月 1 日 |
在這種情況下,當 npm 客戶端從存儲庫獲取包 webhelper 的標籤時R
,最新的標籤將別名版本 1.0.1,因為它是最後更新的。這可讓您輕鬆使用上游儲存庫中尚未存在於本機儲存庫中的新套件版本npm
update
。