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

这将打印npm本身的版本:

npm -v <package-name>

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

npm version <package-name>

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

npm view <package-name> version

如何获取已安装的版本?


当前回答

这里有一个可移植的Unix(使用grep和sed)一行程序,它返回全局安装的npm包的版本字符串(从-pg中删除g以查询本地包):

npm ll -pg --depth=0 grunt | grep -o "@.*:" | sed 's/.$//; s/^.//'

输出:

0.4.5

npm ll输出一个可解析字符串,格式如下:/usr/lib/node_modules/npm:npm@2.14.8:;grep命令提取@和:之间的值,包括;sed命令删除周围的字符。

其他回答

我刚用过

npm list | grep <package name>

而且效果很好。

在Windows上,运行:

npm list | find <package name>

在PowerShell运行中:

npm list | sls <package name>

您可以使用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 list --depth=0

对于全局程序包:

npm list -g --depth=0

我已经建立了一个工具,可以做到这一点-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文件夹中安装了另外两个副本。

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

您也可以使用以下命令检查版本:

npm信息<包名>版本