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

这将打印npm本身的版本:

npm -v <package-name>

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

npm version <package-name>

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

npm view <package-name> version

如何获取已安装的版本?


当前回答

要仅获取已安装的版本号,请尝试:

npm list --depth=0 packagename | grep packagename | cut -d'@' -f2

例如,PM2的安装版本号:

npm list --depth=0 pm2 | grep pm2 | cut -d'@' -f2

要列出全局安装的软件包,请在npm list命令中添加-g标志,例如:

npm list -g --depth=0 packagename | grep packagename | cut -d'@' -f2

其他回答

从包的根目录执行以下操作:

node -p "require('./package.json').version"

(因此,如果您还不在模块的主目录中,则需要cd到该目录中。如果您安装了带有npm install的模块,则该模块将位于node_modules/<module_name>下。)

要仅获取已安装的版本号,请尝试:

npm list --depth=0 packagename | grep packagename | cut -d'@' -f2

例如,PM2的安装版本号:

npm list --depth=0 pm2 | grep pm2 | cut -d'@' -f2

要列出全局安装的软件包,请在npm list命令中添加-g标志,例如:

npm list -g --depth=0 packagename | grep packagename | cut -d'@' -f2

对于本地软件包:

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文件夹中安装了另外两个副本。

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

您可以尝试以下操作:npmshow{package}版本显示最新的包版本。如果您的包已过时,npm过时将显示版本信息。