如果您不再希望維護套件,或您想鼓勵使用者更新到新版本或不同版本,您可以 棄用 它。棄用套件或版本會在使用者安裝時於終端機列印訊息。

棄用警告或訊息可以是任何內容。您可能希望包含一則訊息,鼓勵使用者更新到特定版本,或其他受支援的套件。

注意:我們強烈建議棄用套件或套件版本,而不是 取消發布 它們,因為取消發布會完全從註冊表中移除套件,表示任何依賴它的使用者都將無法再使用它,而且不會收到任何警告。

棄用整個套件

棄用整個套件會從 npm 網站的搜尋結果中移除它,而且棄用訊息也會顯示在套件頁面上。

Screenshot of package deprecation

如果您的套件不符合 取消發布需求,棄用套件是刪除套件的替代方案。

使用網站

  1. 在 npm "登入" 頁面上,輸入您的帳戶詳細資料,然後按一下 登入 npm 登入對話框的螢幕截圖
  2. 導覽至您要棄用的套件的套件頁面,將 <your-package-name> 替換為您的套件名稱:https://www.npmjs.com/package/<your-package-name>

  3. 按一下 設定

    Screenshot showing the settings tab on a package page
  4. 在「棄用套件」下方,按一下 棄用套件

    Screenshot showing the deprecate package button
  5. 如果您確定要繼續,請輸入您的套件名稱,然後按一下 棄用套件

    Screenshot showing the deprecate package confirmation

使用命令列

若要棄用整個套件,請執行以下指令,將 <package-name> 替換為您的套件名稱,以及 "<message>" 替換為您的棄用訊息

npm deprecate <package-name> "<message>"

如果您已啟用 雙重驗證,請將一次性密碼加入指令,--otp=123456(其中 123456 是您的驗證器應用程式的代碼)。

棄用套件的單一版本

當您棄用套件版本時,該版本套件頁面上會顯示紅色訊息,類似於棄用整個套件。

Screenshot of package deprecation for a particular version

使用命令列

若要棄用套件版本,請執行下列指令,並將 <package-name> 替換為您的套件名稱,將 <version> 替換為您的版本號碼,並將 "<message>" 替換為您的棄用訊息

npm deprecate <package-name>@<version> "<message>"

CLI 也會接受 <version> 的版本範圍。

如果您啟用兩步驟驗證,請將一次性密碼加入指令中,--otp=123456(其中 123456 是您的驗證器提供的代碼)。

取消棄用套件或版本

若要取消棄用套件,請在上述指令中將 "<message>" 替換為 ""(空字串)。

例如,若要取消棄用套件版本,請執行下列指令,並將 <package-name> 替換為您的套件名稱,將 <version> 替換為您的版本號碼

npm deprecate <package-name>@<version> ""

如果您啟用兩步驟驗證,請將一次性密碼加入指令中,--otp=123456(其中 123456 是您的驗證器提供的代碼)。

將已棄用的套件轉移到 npm

如果您不再維護套件,但其他使用者依賴該套件,且您想從您的使用者個人資料中移除該套件,您可以將其轉移至 @npm 使用者帳戶,該帳戶由 npm 註冊表擁有。

注意:一旦您將套件轉移至 npm 帳戶,您將無法再更新該套件。

若要將套件轉移至 npm 使用者帳戶,請依序執行下列兩個指令,並將 <user> 替換為您的 npm 使用者名稱,將 <package-name> 替換為您要轉移的套件

npm owner add npm <package-name>
npm owner rm <user> <package-name>

如果您啟用兩步驟驗證,請將一次性密碼加入指令中,--otp=123456(其中 123456 是您的驗證器提供的代碼)。