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 outdatedPackage Current Wanted Latest Locationglob 5.0.15 5.0.15 6.0.1 test-outdated-outputnothingness 0.0.3 git git test-outdated-outputnpm 3.5.1 3.5.2 3.5.1 test-outdated-outputlocal-dev 0.0.3 linked linked test-outdated-outputonce 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 outdated
和npm update
必须获取 Git 存储库进行检查。 这就是为什么当前重新安装 Git 依赖总是会强制进行新的克隆和安装。 npm@3.5.2
被标记为 "wanted",但是 "latest" 是npm@3.5.1
,因为 npm 使用 dist-tags 来管理它的latest
和next
发布通道。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号