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

这将打印npm本身的版本:

npm -v <package-name>

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

npm version <package-name>

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

npm view <package-name> version

如何获取已安装的版本?


当前回答

这是一个简单的问题,应该有一个比我在以前的答案中看到的更简单的答案。

要查看已安装的npm包及其版本,命令是npmls-depth=0,默认情况下,它显示本地安装的内容。要查看全局安装的包,请添加-global参数:npmls-depth=0-global。

--depth=0返回一个已安装包的列表,其中没有依赖项,这是您大多数时候想要做的。

ls是命令的名称,list是ls的别名。

其他回答

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

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

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

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

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

这里有一个可移植的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包及其版本,命令是npmls-depth=0,默认情况下,它显示本地安装的内容。要查看全局安装的包,请添加-global参数:npmls-depth=0-global。

--depth=0返回一个已安装包的列表,其中没有依赖项,这是您大多数时候想要做的。

ls是命令的名称,list是ls的别名。

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

npm ls package

例子:

npm ls babel-cli

输出:

`-- babel-cli@6.26.0

npm文档说npm-ls

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

NPM文件