如何查找已安装的node.js / NPM 包的版本?
这将打印故宫本身的版本:
npm -v <package-name>
这将打印一个神秘的错误:
npm version <package-name>
这将打印在注册表中的软件包版本(也就是可用的最新版本):
npm view <package-name> version
如何获取安装的版本 ?
如何查找已安装的node.js / NPM 包的版本?
这将打印故宫本身的版本:
npm -v <package-name>
这将打印一个神秘的错误:
npm version <package-name>
这将打印在注册表中的软件包版本(也就是可用的最新版本):
npm view <package-name> version
如何获取安装的版本 ?
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
找出哪些软件包安装在本地的, 没有他们的依赖另一种快速的方法是使用:
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
。
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 list | grep <package name>
npm list | grep <package name>
和它的工作很大
在Windows上运行:
npm list | find <package name>
在PowerShell中运行:
npm list | sls <package name>
从封装的根做:
node -p "require('./package.json').version"
编辑 :(所以你需要cd
。到模块的主目录,如果你是不是已经在那里如果你已经安装了模块npm install
,那么这将是下node_modules/<module_name>
)
编辑2:更新每答案来自@杰夫-迪基
对于本地套餐
npm list --depth=0
全球包装
npm list -g --depth=0
如果您同意安装JQ ,你可以使用的JSON输出npm list
。
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
如果你够勇敢(并有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
。
您也可以通过这个命令检查版本。
npm info <package name > version
结合上述的一些答案,并产生一个超级简单和超快速查找。
从项目的root身份运行。 无需cd
到任意文件夹中,只有1行:
node -p "require('SOMEPACKAGE/package.json').version"
要查看本地或全球所有已安装的软件包,使用以下命令:
npm list
本地套餐或npm list -g
对全球已安装的软件包。 npm list --depth=0
npm list | sls <package name>
node -v
您可以使用NPM查看[模块]版本 ,NPM信息[模块]版本 ,NPM秀[模块]版本或NPM v [模块]版本 ,查看已安装的NPM模块上的版本。
让我们假设我的呼噜声模块的版本是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
试着用:
npm list --depth 1 --global packagename
我已经建立了一个工具,它正是这么做的- QNM
node_modules
目录。 使用安装它:
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
。
它的真快,并有一些不错的功能选项卡,并完成匹配搜索。
下面是一个便携式的Unix(使用grep
与sed
)的一行返回全球安装的NPM包的版本字符串(去掉g
从-pg
来查询,而不是本地包):
$ 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
命令除去周边字符。 我说这对我的.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
注意-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 ls --depth=0
,其中,在默认情况下,显示什么是本地安装。 要看到在全球安装的软件包,添加-global
参数: npm ls --depth=0 -global
。
--depth=0
返回安装包的列表,而它们的依赖,这是你想要做的大部分时间是什么。
ls
是命令的名称, list
是一个别名为ls
。