npm-outdated

检查过时的包

概要

npm outdated [[<@scope>/]<pkg> ...]

描述

此命令将检查注册表以查看当前是否有任何(或特定)已安装的包已过时。

在输出中:

  • wanted 是满足 package.json 中指定的 semver 范围的包的最大版本。 如果没有可用的 semver 范围(即你正在运行 npm outdated --global,或者该包未包含在 package.json 中),则 wanted 显示当前安装的版本。
  • latest 是在注册表中标记为最新的包的版本。 在没有特殊配置的情况下运行 npm publish 将发布带有 latest 的 dist-tag 的包。 这可能是也可能不是包的最高版本,或者是最近发布的包版本,这取决于包的开发者如何管理最新的 dist-tag
  • location 是包在依赖树中的位置。 请注意,npm outdated 默认深度为 0,因此除非你覆盖它,否则你将始终只看到过时的顶层依赖。
  • package type(使用 --long / -l 时)告诉你这个包是 dependency 还是 devDependency。 未包含在 package.json 中的包始终标记为 dependencies
  • homepage(使用 --long / -l 时)是包的 package.json 中包含的 homepage
  • 红色表示有更新的版本符合你的 semver 要求,因此你应该立即更新。
  • 黄色表示有高于你的 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

{
"glob": "^5.0.15",
"nothingness": "github:othiym23/nothingness#master",
"npm": "^3.5.1",
"once": "^1.3.1"
}

需要注意的几点:

  • glob 需要 ^5,这会阻止 npm 安装超出 semver 范围的 glob@6
  • Git 依赖总是会被重新安装,因为它们是如何指定的。 安装的 committish 可能满足依赖说明符(如果它是不可变的,例如提交 SHA),也可能不满足,因此 npm outdatednpm update 必须获取 Git 存储库进行检查。 这就是为什么当前重新安装 Git 依赖总是会强制进行新的克隆和安装。
  • npm@3.5.2 被标记为 "wanted",但是 "latest" 是 npm@3.5.1,因为 npm 使用 dist-tags 来管理它的 latestnext 发布通道。 npm update 将安装最新版本,但 npm install npm(没有 semver 范围)将安装标记为 latest 的任何内容。
  • once 已经过时了。 从头开始重新安装 node_modules 或运行 npm update 将使其符合规范。

配置

json

  • 默认值: false
  • 类型: 布尔值

以 JSON 格式显示信息。

long

  • 默认值: false
  • 类型: 布尔值

显示扩展信息。

parseable

  • 默认值: false
  • 类型: 布尔值

显示可解析的输出而不是树视图。

global

  • 默认值: false
  • 类型: 布尔值

检查全局安装前缀中的包,而不是当前项目中的包。

depth

  • 默认值: 0 * 类型: 整数

检查依赖树的最大深度。

也可以看看

npm 中文网 - 粤ICP备13048890号