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

这将打印npm本身的版本:

npm -v <package-name>

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

npm version <package-name>

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

npm view <package-name> version

如何获取已安装的版本?


当前回答

对于本地包使用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 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

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

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

您还可以在文本编辑器中手动查看package.json文件,以查看哪些包是依赖项。如果npm列表不能作为手动选项使用,请使用此选项。