如何查找已安装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
如何获取已安装的版本?
当前回答
您可以查看文件package.json以查看已安装的软件包版本。
要在命令行上获取列表,
npm ls
它将为您提供项目中所有已安装的软件包及其各自的版本。
对于特定的包版本,
npm ls <package-name>
例如
npm ls next
它将返回版本
-- next@10.1.3
其他回答
另一种快速了解本地安装的软件包及其依赖关系的方法是:
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。
如果您同意安装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
我看到了一些非常有创意的答案,但您可以这样做(对于全局包,添加--global开关):
npm ls package
例子:
npm ls babel-cli
输出:
`-- babel-cli@6.26.0
npm文档说npm-ls
此命令将向stdout打印以及它们的依赖关系,以树形结构安装。
NPM文件
如果要检查全局安装的特定模块,请在类Unix系统上使用:
npm list -g --depth=0 | grep <module_name>
要仅获取已安装的版本号,请尝试:
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