如何查找已安装Node.js或npm包的版本?

这将打印npm本身的版本:

npm -v <package-name>

这将打印一个隐藏的错误:

npm version <package-name>

这将在注册表中打印软件包版本(即可用的最新版本):

npm view <package-name> version

如何获取已安装的版本?


当前回答

我们可以使用npm查看任何promise(您的模块名称)-v

其他回答

您可以使用npm view[module]版本、npm info[module]version、npm show[module]-version或npm v[module]]版本来检查已安装的npm模块的版本。

假设我的Grunt模块版本为0.4.5:

npm view grunt version => 0.4.5
npm info grunt version => 0.4.5
npm show grunt version => 0.4.5
npm v grunt version    => 0.4.5

对于本地包使用npm列表,对于全局安装的包使用npm-list-g。

通过将特定包的名称作为参数传递,可以找到该包的版本。例如,npm list grut将导致:

projectName@projectVersion /path/to/project/folder
└── grunt@0.4.1

或者,您可以只运行npm列表,而不传递包名作为参数来查看所有包的版本:

├─┬ cli-color@0.1.6
│ └── es5-ext@0.7.1
├── coffee-script@1.3.3
├── less@1.3.0
├─┬ sentry@0.1.2
│ ├── file@0.2.1
│ └── underscore@1.3.3
└── uglify-js@1.2.6

您还可以添加--depth=0参数来列出已安装的包,而不列出它们的依赖项。

我看到了一些非常有创意的答案,但您可以这样做(对于全局包,添加--global开关):

npm ls package

例子:

npm ls babel-cli

输出:

`-- babel-cli@6.26.0

npm文档说npm-ls

此命令将向stdout打印以及它们的依赖关系,以树形结构安装。

NPM文件

如果要检查全局安装的特定模块,请在类Unix系统上使用:

npm list -g --depth=0 | grep <module_name>

我已经建立了一个工具,可以做到这一点-qnm。

qnm—用于查询node_modules目录的简单CLI实用程序。

使用以下方法安装:

npm i --global qnm

并运行:

qnm [module]

例如:

qnm lodash

输出:

lodash
├── 4.17.5
├─┬ cli-table2
│ └── 3.10.1
└─┬ karma
  └── 3.10.1

这意味着我们在node_modules文件夹的根目录中安装了lodash,在cli-table2和karma的node_module文件夹中安装了另外两个副本。

它真的很快,并且有一些很好的功能,比如制表符完成和匹配搜索。