如何找到已安装的node.js / npm 软件包的版本?
这将打印npm本身的版本:
npm -v <package-name>
这将显示一个神秘的错误:
npm version <package-name>
这将在注册表上打印软件包版本(即可用的最新版本):
npm view <package-name> version
如何获得安装的版本?
npm show
显示最新的npm,尚未安装
如何找到已安装的node.js / npm 软件包的版本?
这将打印npm本身的版本:
npm -v <package-name>
这将显示一个神秘的错误:
npm version <package-name>
这将在注册表上打印软件包版本(即可用的最新版本):
npm view <package-name> version
如何获得安装的版本?
npm show
显示最新的npm,尚未安装
Answers:
npm list
用于本地软件包或npm list -g
全局安装的软件包。
您可以通过传递特定软件包的名称作为参数来查找其版本。例如,npm list grunt
将导致:
projectName@projectVersion /path/to/project/folder
└── grunt@0.4.1
或者,您可以直接运行npm list
而无需传递软件包名称作为参数来查看所有软件包的版本:
├─┬ 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 less-middleware
示例一样运行它。
| select-string module_name
过滤模块。或者,如果您使用的是Git Bash(或者仅使用Bash),则可以使用grep
。
list
,npm ls
也可以。实际上,许多npm命令都具有别名,此外,如果您键入命令的子字符串,并且该子字符串是明确的,那么它也将起作用。例如npm ls
,npm list
,npm lis
都是一样的。如果您想要更多详细的输出,请尝试npm ll
(但可能要--depth=0
添加到其中)。
npm list -g | awk -F@ '/<package>/ { print $2}'
找出本地安装了哪些软件包且没有相关性的另一种快速方法是使用:
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 list -g --depth=0
。
如果您已经安装了许多软件包,则此方法更加清晰。
要找出需要更新的软件包,可以使用npm outdated -g --depth=0
。
| grep <package_name>
--depth=0
使速度更快,因为它不必递归加载依赖项
npm list -g --depth=0
用于全局安装的列表模块
npm view <package> version
-返回包装上的最新可用版本。
npm list --depth=0
-返回没有依赖性的所有已安装模块的版本。
npm list
-返回所有模块和依赖项的版本。
最后获得节点版本: node -v
npm info YOUR_PACKAGE version
例如
npm info grunt version
0.4.5
npm info
是npm的别名npm view
,在npm的Docs中,您会发现该名称: 该命令显示有关软件包的数据,并将其打印到outfd配置引用的流中,该配置默认为stdout。[...] 如果未指定,默认版本为“最新”。 那就是我投反对票的方式。
npm info YOUR_PACKAGE version
唯一有效的方法:)
我刚用过
npm list | grep <package name>
而且效果很好
在Windows上运行:
npm list | find <package name>
在PowerShell中运行:
npm list | sls <package name>
find
版本对我不起作用-即使使用引号引起来的字符串,但powershell都可以正常工作
npm list -g --depth=0 |find "<package name>"
请注意双引号
从包的根开始:
node -p "require('./package.json').version"
编辑:(因此,cd
如果您还不存在npm install
,则需要进入该模块的主目录。如果您已使用来安装该模块,则它将位于node_modules/<module_name>
)
编辑2:根据@ jeff-dickey的答案进行更新
node -p "require('./package.json').version"
对于本地包裹
npm list --depth=0
对于全球套餐
npm list -g --depth=0
您也可以使用以下命令检查版本:
npm info <package name> version
如果您足够勇敢(并已node
安装),则可以始终执行以下操作:
echo "console.log(require('./package.json').version);" | node
这将打印当前软件包的版本。您还可以将其修改为疯狂,如下所示:
echo "eval('var result='+require('child_process').execSync('npm version',{encoding:'utf8'})); console.log(result.WHATEVER_PACKAGE_NAME);" | node
这将打印WHATEVER_PACKAGE_NAME
包的版本,如所示npm version
。
node -e "console.log(require('./package.json').version);"
要在本地或全局查看所有已安装的软件包,请使用以下命令:
npm list
用于本地软件包或npm list -g
全局安装的软件包。npm list --depth=0
npm list | sls <package name>
node -v
尝试:
npm list --depth 1 --global packagename
我已经建立了一个可以做到这一点的工具-qnm
node_modules
目录的简单CLI实用程序。使用以下方法安装:
npm i --global qnm
并运行:
qnm [module]
例如:
> qnm lodash
lodash
├── 4.17.5
├─┬ cli-table2
│ └── 3.10.1
└─┬ karma
└── 3.10.1
这意味着我们必须lodash
安装的根node_modules
,并在另外两个副本node_modules
中cli-table2
和karma
。
它确实非常快,并且具有一些不错的功能,例如制表符补全和匹配搜索。
npm list --depth 0
是显示所有带有版本的库的命令,但是您可以使用 npm-check
npm-check是一个很好的库,可以管理所有与版本系统事件有关的事情,它将显示库版本,新版本更新以及未使用的版本等等。
安装它就可以运行
npm install -g npm-check
并简单地运行
npm-check
查看屏幕快照,其中显示了有关软件包版本,新版本更新和未使用版本的所有信息。
它也在全球范围内运作。试试看。希望这对某人有帮助。
我将此添加到我的.bashrc
function npmv {
case $# in # number of arguments passed
0) v="$(npm -v)" ; #store output from npm -v in variable
echo "NPM version is: $v"; #can't use single quotes
#${v} would also work
;;
1) s="$(npm list --depth=0 $1 | grep $1 | cut -d @ -f 2)";
echo "$s";
;;
2) case "$2" in # second argument
g) #global|#Syntax to compare bash string to literal
s="$(npm list --depth=0 -g $1 | grep $1 | cut -d @ -f 2)";
echo "$s";
;;
l) #latest
npm view $1 version; #npm info $1 version does same thing
;;
*) echo 'Invalid arguments';
;;
esac;
;;
*) echo 'Invalid arguments';
;;
esac;
}
export -f npmv
现在,我要做的就是键入:
NPM version is: 4.2.0
0.8.08
0.8.09
0.8.10
注意:cut命令上的-d表示定界,后跟@,然后f表示字段2表示第二个字段,因为@符号的任一侧。
您可以尝试以下方法:
npm show {package} version
显示最新的软件包版本。并且,如果您的软件包已过时,npm outdated
则将显示其版本信息。
package.json
您可以通过以下方式访问包的package.json
或bower.json
:
notepad ./node_modules/:packageName/package.json
这将打开package.json
在notepad
其具有version number
的:packageName
你所包含的command
。
notepad ./node_modules/vue-template-compiler/package.json
祝好运。
我们可以使用npm查看任何承诺(您的模块名称)-v
npm list --depth=0 | grep uuid | awk '{ print $2; }' | cut -d '@' -f 2
,但是,是的,只要它是顶级依赖项,它就可以工作。基于原始问题,我认为情况并非总是如此。
npm list package-name提供当前安装的版本
非常简单..只需在行下键入
npm view < package-name > version
**范例**
npm view redux version
我有Redux版本7.2.0