本文參考了NPM中文文檔寫做而成的html
npm outdated 功能
檢查過期的軟件包node
npm outdated 使用
npm outdated [[<@scope>/]<pkg> ...]
若是沒有老版本的,就沒有任何輸出,參見下面git
若是有新版本的,會提示你須要更新到的版本,以下圖;github
npm outdated 說明
此命令將檢查註冊表以查看當前是否已安裝任何(或特定的)已安裝軟件包。npm
在輸出中:json
- wanted 是知足中指定的 semver 範圍的軟件包的最高版本 package.json。若是沒有可用的存儲範圍(即您正在運行 npm outdated --global,或者該軟件包未包含在其中 package.json),則 wanted 顯示當前安裝的版本。
- latest 是在註冊表中標記爲最新的軟件包的版本。npm publish 在沒有特殊配置的狀況下運行將發佈帶有 dist-tag 的軟件包 latest。這多是軟件包的最高版本,也可能不是軟件包的最新版本,這取決於軟件包的開發人員如何管理最新的 dist-tag。
- location 是程序包在依賴關係樹中的位置。請注意, npm outdated 默認深度爲 0,所以,除非您覆蓋該深度,不然始終將僅看到過期的頂級依賴項。
- package type(使用 --long/ 時 -l)告訴您此軟件包是 a dependency 仍是 a devDependency。未包含的軟件包 package.json 始終帶有標記 dependencies。
- homepage(當使用--long/ 時 -l)是 homepage 包中包含的值 package.json
- 紅色表示有一個新版本符合您的 semver 要求,所以您應該當即進行更新。
- 黃色表示超出您的英語要求(一般是新的專業,或新的 0.x 次要),所以請謹慎行事。
一個例子
$ npm outdated
Package Current Wanted Latest Location
glob 5.0.15 5.0.15 6.0.1 test-outdated-output
nothingness 0.0.3 git git test-outdated-output
npm 3.5.1 3.5.2 3.5.1 test-outdated-output
local-dev 0.0.3 linked linked test-outdated-output
once 1.3.2 1.3.3 1.3.3 test-outdated-output
有了這些 dependencies:api
{
"glob": "^5.0.15",
"nothingness": "github:othiym23/nothingness#master",
"npm": "^3.5.1",
"once": "^1.3.1"
}
注意事項:spa
- glob 須要 ^5,這 NPM 防止安裝 glob@6,這是 semver 範圍以外。
- Git 依賴項將始終被從新安裝,由於它們是如何指定的。安裝的 committish 可能知足的依賴符(若是它的東西不可變的,就像一個犯 SHA),也可能沒有,因此 npm outdated 並 npm update 有獲取的 Git 回購檢查。這就是爲何當前從新安裝 Git 依賴項老是強制執行新克隆並安裝的緣由。
- npm@3.5.2 被標記爲「通緝令」,但「最新」,是 npm@3.5.1 由於故宮使用的 dist- 標籤來管理其 latest 和 next 釋放的通道。npm update 將安裝最新版本,但 npm install npm(沒有 semver 範圍)將安裝標記爲的任何內容 latest。
- once 只是過期了。node_modules 從頭開始安裝或從新運行 npm update 將使其達到規格。
配置
json
以 JSON 格式顯示信息。code
long
顯示擴展信息。htm
parseable
顯示可分析的輸出而不是樹視圖。
global
在全局安裝前綴中而不是在當前項目中檢查軟件包。
depth
用於檢查依賴關係樹的最大深度。
本文參考NPM中文文檔