網站導覽
目錄
npm-outdated
檢查過時的套件
選擇 CLI 版本
目錄
概要
npm outdated [<package-spec> ...]
說明
此指令將檢查登錄檔,以查看是否有任何 (或特定) 已安裝的套件目前已過時。
預設情況下,只會顯示根專案的直接依賴項和已設定 工作區 的直接依賴項。使用 --all
也能找出所有過時的元依賴項。
在輸出中
wanted
是滿足package.json
中指定的 semver 範圍的最大套件版本。如果沒有可用的 semver 範圍 (即您正在執行npm outdated --global
,或套件未包含在package.json
) 中,則wanted
會顯示目前已安裝的版本。latest
是登錄檔中標記為最新的套件版本。執行npm publish
而沒有特殊設定,將會使用latest
的 dist 標籤來發布套件。這可能是套件的最大版本,也可能是套件最近發布的版本,具體取決於套件開發人員如何管理最新的 dist 標籤。位置
是套件在實體樹中的位置。依賴的
顯示哪些套件依賴於顯示的依賴項套件類型
(使用--long
/-l
時)會告訴您此套件是依賴項
還是開發/同儕/選用依賴項。未包含在package.json
中的套件總是標記為依賴項
。首頁
(使用--long
/-l
時)是套件的 packument 中包含的首頁
值- 紅色表示有符合您 semver 需求的較新版本,因此您現在應該更新。
- 黃色表示有高於您 semver 需求的較新版本(通常是新的主要版本或新的 0.x 次要版本),因此請小心進行。
範例
$ npm outdatedPackage Current Wanted Latest Location Depended byglob 5.0.15 5.0.15 6.0.1 node_modules/glob dependent-package-namenothingness 0.0.3 git git node_modules/nothingness dependent-package-namenpm 3.5.1 3.5.2 3.5.1 node_modules/npm dependent-package-namelocal-dev 0.0.3 linked linked local-dev dependent-package-nameonce 1.3.2 1.3.3 1.3.3 node_modules/once dependent-package-name
使用這些 依賴項
{"glob": "^5.0.15","nothingness": "github:othiym23/nothingness#master","npm": "^3.5.1","once": "^1.3.1"}
一些注意事項
glob
需要^5
,這會阻止 npm 安裝glob@6
,因為它不在 semver 範圍內。- Git 依賴項將永遠重新安裝,因為它們的指定方式。已安裝的 committish 可能滿足依賴項說明符(如果它是不可變的,例如 commit SHA),也可能不滿足,因此
npm outdated
和npm update
必須擷取 Git 儲存庫來檢查。這就是為什麼目前重新安裝 Git 依賴項總是會強制執行新的複製和安裝。 npm@3.5.2
標記為「想要的」,但「最新」是npm@3.5.1
,因為 npm 使用 dist 標籤來管理其最新
和下一個
發布頻道。npm update
將安裝最新版本,但npm install npm
(沒有 semver 範圍)將安裝標記為最新
的任何內容。once
已經過時了。重新安裝node_modules
或執行npm update
將會更新到最新版本。
設定
all
- 預設值:false
- 類型:布林值
在執行 npm outdated
和 npm ls
時,設定 --all
將會顯示所有過時或已安裝的套件,而不仅仅是目前專案直接依賴的套件。
json
- 預設值:false
- 類型:布林值
是否要輸出 JSON 資料,而不是一般的輸出。
- 在
npm pkg set
中,它會在將設定值儲存到package.json
之前,使用 JSON.parse() 來剖析設定值。
並非所有 npm 指令都支援。
long
- 預設值:false
- 類型:布林值
在 ls
、search
和 help-search
中顯示詳細資訊。
parseable
- 預設值:false
- 類型:布林值
從寫入標準輸出的指令中輸出可剖析的結果。對於 npm search
,這將會是 tab 分隔的表格格式。
global
- 預設值:false
- 類型:布林值
在「全域」模式中執行,因此套件會安裝到 prefix
資料夾,而不是目前的作業目錄。請參閱 資料夾 以進一步瞭解行為上的差異。
- 套件會安裝到
{prefix}/lib/node_modules
資料夾,而不是目前的作業目錄。 - bin 檔案會連結到
{prefix}/bin
- man 頁面會連結到
{prefix}/share/man
workspace
- 預設值
- 類型:字串(可以設定多次)
啟用在目前專案已設定的工作空間中執行指令,同時根據此設定選項所定義的工作空間進行過濾,只執行這些工作空間。
workspace
設定的有效值為
- 工作空間名稱
- 工作空間目錄路徑
- 父工作空間目錄路徑(將會選取該資料夾中的所有工作空間)
當設定給 npm init
指令時,可以設定為尚未存在的資料夾,以建立資料夾並將其設定為專案中的全新工作空間。
此值不會匯出到子程序的環境中。