目录
npm-outdated
检查过时的包
选择 CLI 版本
目录
概述
npm outdated [<package-spec> ...]
描述
此命令将检查注册表以查看任何(或特定)已安装的包当前是否已过时。
默认情况下,仅显示根项目的直接依赖项和您配置的工作区的直接依赖项。使用--all
查找所有过时的元依赖项。
在输出中
wanted
是满足package.json
中指定的语义版本范围的包的最大版本。如果没有可用的语义版本范围(即您正在运行npm outdated --global
,或者包未包含在package.json
中),则wanted
将显示当前安装的版本。latest
是注册表中标记为最新的包的版本。在没有特殊配置的情况下运行npm publish
将使用latest
的 dist 标签发布包。这可能是也可能不是包的最大版本,也不是包的最新发布版本,具体取决于包开发者如何管理最新的 dist 标签。location
是包在物理树中的位置。depended by
显示哪个包依赖于显示的依赖项package type
(使用--long
/-l
时)会告诉您此包是dependency
还是 dev/peer/optional 依赖项。package.json
中未包含的包始终标记为dependencies
。homepage
(使用--long
/-l
时)是包的 packument 中包含的homepage
值- 红色表示存在满足您的语义版本要求的较新版本,因此您现在应该更新。
- 黄色表示存在高于您的语义版本要求的较新版本(通常是新的主要版本或新的 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
使用这些 dependencies
{"glob": "^5.0.15","nothingness": "github:othiym23/nothingness#master","npm": "^3.5.1","once": "^1.3.1"}
需要注意一些事项
glob
需要^5
,这将阻止 npm 安装glob@6
,因为glob@6
超出了语义版本范围。- Git 依赖项将始终被重新安装,因为它们是指定的方式。已安装的提交哈希可能满足依赖项说明符(如果是不可变的内容,如提交 SHA),也可能不满足,因此
npm outdated
和npm update
必须获取 Git 仓库进行检查。这就是为什么当前重新安装 Git 依赖项始终强制执行新的克隆和安装。 [email protected]
被标记为“wanted”,但“latest”是[email protected]
,因为 npm 使用 dist 标签来管理其latest
和next
发布通道。npm update
将安装最新版本,但npm install npm
(没有语义版本范围)将安装标记为latest
的任何内容。once
已经过时了。从头开始重新安装node_modules
或运行npm update
将使其符合规范。
配置
全部
- 默认值:false
- 类型:布尔值
运行 npm outdated
和 npm ls
时,设置 --all
将显示所有过时的或已安装的包,而不是仅显示当前项目直接依赖的包。
json
- 默认值:false
- 类型:布尔值
是否输出 JSON 数据,而不是正常输出。
- 在
npm pkg set
中,它允许在将设置值保存到您的package.json
之前使用 JSON.parse() 解析设置值。
并非所有 npm 命令都支持。
长
- 默认值:false
- 类型:布尔值
在 ls
、search
和 help-search
中显示扩展信息。
可解析
- 默认值:false
- 类型:布尔值
从写入标准输出的命令输出可解析的结果。对于 npm search
,这将是制表符分隔的表格格式。
全局
- 默认值:false
- 类型:布尔值
在“全局”模式下运行,以便将包安装到 prefix
文件夹中,而不是当前工作目录。有关行为差异的更多信息,请参阅 文件夹。
- 包安装到
{prefix}/lib/node_modules
文件夹中,而不是当前工作目录。 - bin 文件链接到
{prefix}/bin
- 手册页链接到
{prefix}/share/man
工作区
- 默认值
- 类型:字符串(可以设置多次)
启用在当前项目的配置工作区上下文中运行命令,同时通过仅运行此配置选项定义的工作区进行过滤。
对于 workspace
配置的有效值是
- 工作区名称
- 工作区目录的路径
- 父工作区目录的路径(将导致选择该文件夹中的所有工作区)
当为 npm init
命令设置时,这可以设置为尚未存在的工作区文件夹,以创建文件夹并将其设置为项目中的全新工作区。
此值不会导出到子进程的环境中。