npm-dist-tag

修改套件發行標籤

選擇 CLI 版本

概要

npm dist-tag add <package-spec (with version)> [<tag>]
npm dist-tag rm <package-spec> <tag>
npm dist-tag ls [<package-spec>]
alias: dist-tags

說明

在套件上新增、移除和列舉發行標籤

  • 新增:使用指定的標籤標記套件的指定版本,或未指定時使用 --tag 設定。如果您在 auth-and-writes 上啟用兩步驟驗證,則需要在指令列中包含一次性密碼,格式為 --otp <一次性密碼>,或根據您的 authtype 進行第二步驟驗證流程。

  • rm:清除套件中不再使用的標籤。如果您已在 auth-and-writes 上啟用雙重驗證,則需要使用 --otp <一次性密碼> 在命令列中包含一次性密碼,或根據您的 authtype 進行第二個驗證流程

  • ls:顯示套件的所有 dist-tag,預設為目前前綴中的套件。如果未指定任何動作,這將是預設動作。

在安裝套件時,可以使用標籤作為版本參考,而不是使用特定版本號碼

npm install <name>@<tag>

在安裝相依項時,可以指定偏好的標籤版本

npm install --tag <tag>

(這也適用於任何其他解析和安裝相依項的命令,例如 npm dedupenpm updatenpm audit fix。)

發布套件會將 latest 標籤設定為已發布的版本,除非使用 --tag 選項。例如,npm publish --tag=beta

預設情況下,npm install <pkg>(沒有任何 @<version>@<tag> 說明符)會安裝 latest 標籤。

目的

標籤可用於提供別名,而不是版本號碼。

例如,專案可能會選擇使用多個開發串流,並為每個串流使用不同的標籤,例如 stablebetadevcanary

預設情況下,npm 使用 latest 標籤來識別套件的目前版本,而 npm install <pkg>(沒有任何 @<version>@<tag> 說明符)會安裝 latest 標籤。通常,專案只會對穩定版本使用 latest 標籤,並對不穩定版本(例如預發行版本)使用其他標籤。

某些專案使用 next 標籤來識別即將推出的版本。

除了 latest 之外,沒有任何標籤對 npm 本身具有特殊意義。

注意事項

此命令以前稱為 npm tag,它只會建立新的標籤,因此語法不同。

標籤必須與版本號共用一個命名空間,因為它們指定在同一個槽位中:npm install <pkg>@<version>npm install <pkg>@<tag>

可以解釋為有效 semver 範圍的標籤將會被拒絕。例如,v1.4 不能用作標籤,因為 semver 將其解釋為 >=1.4.0 <1.5.0。請參閱 https://github.com/npm/npm/issues/6082

避免標籤出現 semver 問題最簡單的方法,就是使用不以數字或字母 v 開頭的標籤。

設定

工作區

  • 預設值
  • 類型:字串(可以設定多次)

啟用在目前專案的已設定工作空間中執行命令,同時透過僅執行此設定選項所定義的工作空間來進行篩選。

workspace 設定的有效值為

  • 工作空間名稱
  • 工作空間目錄的路徑
  • 父工作空間目錄的路徑(將會選取該資料夾中的所有工作空間)

當設定於 npm init 命令時,這可能會設定為尚未存在的資料夾,以建立資料夾並將其設定為專案中的全新工作空間。

此值不會匯出至子程式的環境。

工作區

  • 預設值:null
  • 類型:null 或布林值

設定為 true 以在所有已設定工作空間中執行命令。

明確將此設定為 false 將會導致 install 等命令完全忽略工作空間。未明確設定時

  • 操作 node_modules 樹狀結構的指令(安裝、更新等)會將工作區連結至 node_modules 資料夾。- 執行其他操作的指令(測試、執行、發布等)會操作根專案,除非workspace 設定中指定一個或多個工作區。

此值不會匯出至子程式的環境。

包含工作區根目錄

  • 預設值:false
  • 類型:布林值

當指令啟用工作區時,包含工作區根目錄。

為 false 時,透過 workspace 設定指定個別工作區,或透過 workspaces 旗標指定所有工作區,將導致 npm 僅操作指定的那些工作區,而不操作根專案。

此值不會匯出至子程式的環境。

另請參閱