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

这将打印npm本身的版本:

npm -v <package-name>

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

npm version <package-name>

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

npm view <package-name> version

如何获取已安装的版本?


当前回答

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

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

其他回答

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

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

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

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

对于本地包使用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参数来列出已安装的包,而不列出它们的依赖项。

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

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 ls—深度=0

要列出带有版本号的全局软件包,请使用:

npm ls-g—深度=0

另一种快速了解本地安装的软件包及其依赖关系的方法是:

npm list --depth=0

这让你有点像

├── bower@0.8.6
├── grunt@0.4.1
├── grunt-bower-requirejs@0.4.3
├── grunt-contrib-clean@0.4.1
├── grunt-contrib-coffee@0.7.0
├── grunt-contrib-copy@0.4.1
├── grunt-contrib-imagemin@0.1.4
├── grunt-contrib-jshint@0.1.1
├── grunt-contrib-livereload@0.1.2
├── grunt-contrib-requirejs@0.4.1
├── grunt-regarde@0.1.1
└── grunt-svgmin@0.1.0

显然,对于npm列表-g--depth=0,也可以在全局范围内执行同样的操作。

如果您安装了大量软件包,则此方法更清晰。

要了解哪些包需要更新,可以使用npm-outaged-g-depth=0。