如何查找已安装Node.js或npm包的版本?
这将打印npm本身的版本:
npm -v <package-name>
这将打印一个隐藏的错误:
npm version <package-name>
这将在注册表中打印软件包版本(即可用的最新版本):
npm view <package-name> version
如何获取已安装的版本?
如何查找已安装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
其他回答
对于本地包使用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参数来列出已安装的包,而不列出它们的依赖项。
如果您同意安装jq,可以使用npm列表的JSON输出:
npm -j ls <package-name> | jq -r .version
或者,如果您想说得更详细:
npm --json list <package-name> | jq --raw-output '.version'
例如:
npm -j ls ghost | jq -r .version
输出:
0.4.2
此外,全局包的JSON格式略有不同,因此需要更改查询。
例如:
npm -j -g ls | jq -r .dependencies.ghost.version
输出:
0.4.2
结合上面的一些答案,生成一个超级简单和超级快速的查找。
从项目根目录运行。无需cd到任何文件夹中,只需一行:
node-p“require('OMEPACKAGE/package.json').version”
您也可以使用以下命令检查版本:
npm信息<包名>版本
我刚用过
npm list | grep <package name>
而且效果很好。
在Windows上,运行:
npm list | find <package name>
在PowerShell运行中:
npm list | sls <package name>