查找已安装的NPM包的版本查找已安装的NPM包的版本(Find the version of an

2019-05-17 14:30发布

如何查找已安装的node.js / NPM 的版本?

这将打印故宫本身的版本:

npm -v <package-name>

这将打印一个神秘的错误:

npm version <package-name>

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

npm view <package-name> version

如何获取安装版本

Answer 1:

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 


Answer 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



Answer 3:

npm view <package> version -返回包装上的最新的可用版本。

npm list --depth=0 -返回所有已安装的模块的版本,无需依赖。

npm list -返回所有模块和相关的版本。

而最后得到的节点版本: node -v



Answer 4:

npm info YOUR_PACKAGE version

npm info grunt version
0.4.5


Answer 5:

我只是用npm list | grep <package name> npm list | grep <package name>和它的工作很大

在Windows上运行:

npm list | find <package name>

在PowerShell中运行:

npm list | sls <package name>



Answer 6:

从封装的根做:

node -p "require('./package.json').version"

编辑 :(所以你需要cd 。到模块的主目录,如果你是不是已经在那里如果你已经安装了模块npm install ,那么这将是下node_modules/<module_name>

编辑2:更新每答案来自@杰夫-迪基



Answer 7:

对于本地套餐

npm list --depth=0

全球包装

npm list  -g --depth=0


Answer 8:

如果您同意安装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


Answer 9:

如果你够勇敢(并有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



Answer 10:

您也可以通过这个命令检查版本。

npm info <package name > version



Answer 11:

结合上述的一些答案,并产生一个超级简单和超快速查找。
从项目的root身份运行。 无需cd到任意文件夹中,只有1行:

node -p "require('SOMEPACKAGE/package.json').version"



Answer 12:

要查看本地或全球所有已安装的软件包,使用以下命令:

  1. npm list本地套餐或npm list -g对全球已安装的软件包。
  2. npm list --depth=0
  3. npm list | sls <package name>
  4. node -v


Answer 13:

您可以使用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


Answer 14:

试着用:

npm list --depth 1 --global packagename


Answer 15:

我已经建立了一个工具,它正是这么做的- QNM

QNM -一个简单的CLI工具用于查询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_modulescli-table2karma

它的真快,并有一些不错的功能选项卡,并完成匹配搜索。



Answer 16:

下面是一个便携式的Unix(使用grepsed )的一行返回全球安装的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命令除去周边字符。


Answer 17:

我说这对我的.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

现在我需要做的是类型:

  • npmv为NPM例如版本: NPM version is: 4.2.0
  • npmv <包名称>本地版本例如: 0.8.08
  • npmv <包名称>克为全局版本例如: 0.8.09
  • npmv <软件包名称> l对于最新版本如: 0.8.10

注意-d上切命令装置通过划,随后@,则f装置字段中的2是指第二字段,因为会有一个@符号的任一侧。



Answer 18:

你可以试试这个: npm show {package} version展示了最新的软件包版本。 如果你的包是过时的, npm outdated将与版本信息显示它。



Answer 19:

访问package.json

您可以访问package.jsonbower.json包带的:

notepad ./node_modules/:packageName/package.json

这将打开package.jsonnotepad该具有的version number:packageName您在包含command

例如 :

notepad ./node_modules/vue-template-compiler/package.json

祝好运。



Answer 20:

我们可以使用NPM查看任何承诺量 (你的模块名称)-v



Answer 21:

这是简单的问题,并且应该有一个比我看到上面简单的答案。

要查看与他们的版本安装包故宫,该命令是npm ls --depth=0 ,其中,在默认情况下,显示什么是本地安装。 要看到在全球安装的软件包,添加-global参数: npm ls --depth=0 -global

--depth=0返回安装包的列表,而它们的依赖,这是你想要做的大部分时间是什么。

ls是命令的名称, list 是一个别名为ls



文章来源: Find the version of an installed npm package