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

这将打印npm本身的版本:

npm -v <package-name>

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

npm version <package-name>

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

npm view <package-name> version

如何获取已安装的版本?


当前回答

Use

npm info YOUR_PACKAGE version

例如。,

npm info grunt version

0.4.5

其他回答

这里有一个可移植的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列表,对于全局安装的包使用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文件。

"dependencies": {
  "ajv": "^8.9.0",
  "ajv-keywords": "^5.1.0",
  "fastify": "^3.27.0"

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

我正在使用

npm list --depth=0 | grep module_name@

它给我带来了这样的结果:

module_name@2.1033.0