关于node.js:查找已安装的NPM包的版本

Find the version of an installed npm package

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

这将打印NPM本身的版本:

1
npm -v <package-name>

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

1
npm version <package-name>

这将在注册表上打印包版本(即可用的最新版本):

1
npm view <package-name> version

如何获取已安装的版本?


npm listfor local packages或globally packages npm list -gfor installed。P></

You can find the version of a package name as by通过ITS特异an argument。for example,npm list gruntwill result中:P></

1
2
projectName@projectVersion /path/to/project/folder
└── [email protected]

你可以alternatively,只是没有通过在包装npm listRun as an argument to see the name:在你packages versions ofP></

1
2
3
4
5
6
7
8
├─┬ [email protected]
│ └── [email protected]
├── [email protected]
├── [email protected]
├─┬ [email protected]
│ ├── [email protected]
│ └── [email protected]
└── [email protected]


一个快速的方式找到了什么是packages of installed without their和局部限制使用:is toP></

1
npm list --depth=0

它给你什么样P></

1
2
3
4
5
6
7
8
9
10
11
12

明显的,globally can be done with the same npm list -g --depth=0。P></

this method is You have clearer房子很多packages of installed。P></

which need to find out to be updated packages npm outdated -g --depth=0,你可以使用。P></


npm view versionthe latest version -返回available on the package。P></

npm list --depth=0- versions of installed without归来的模的限制。P></

npm list- versions of modules和归来的限制。P></

节点和lastly to get版本:node -vP></


1
npm info YOUR_PACKAGE version

例如P></

1
2
npm info grunt version
0.4.5


我只是usednpm list | grep 和它的工作都大P></

Windows运行:在线P></

npm list | find P></

在PowerShell的运行:P></

npm list | sls P></


from the root of the package。P></

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

(编辑:我知道你cdinto the need to s home目录模块,如果你不是已经在那里。如果你有npm installinstalled with the模,然后它会在node_modules/)P></

为回答2:编辑杰夫updated as from @ -迪基P></


对于本地包

1
npm list --depth=0

对于全局包

1
npm list  -g --depth=0

如果你同意to install JQ,你可以使用npm listof the JSON输出。P></

1
npm -j ls <package-name> | jq -r .version

或者,如果你想好详细P></

1
npm --json list <package-name> | jq --raw-output '.version'

例如:forP></

1
2
$ npm -j ls ghost | jq -r .version
0.4.2

JSON格式也不同,slightly is for the Global packages,知道你need to change the query。P></

例如:forP></

1
2
$ npm -j -g ls | jq -r .dependencies.ghost.version
0.4.2

如果你是好的(和有足够的nodeinstalled),你可以永远给你什么样:P></

1
echo"console.log(require('./package.json').version);" | node

这将打印the version of the current)。You can also it to modify去疯狂,这样:P></

1
echo"eval('var result='+require('child_process').execSync('npm version',{encoding:'utf8'})); console.log(result.WHATEVER_PACKAGE_NAME);" | node

WHATEVER_PACKAGE_NAMEversion of the Will打印,包装,that is npm version看到的模式。P></


结合上面的一些答案,产生一个超级简单和超级快速的查找。从项目根目录运行。无需将cx1〔0〕放入任何文件夹,只需一行:

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


您还可以通过此命令检查版本。

npm info version


to see the packages在局部或globally installed,使用这些命令:P></

  • npm listfor local packages或globally packages npm list -gfor installed。
  • npm list --depth=0
  • npm list | sls
  • node -v

  • 你可以使用视图[模块]公共信息模型,NPM [ ] [ ]节目版本,NPM模或模型〔〕V NPM version to check the version on an installed NPM模块。P></

    我想我们的咕噜模0.4.5 version is the:P></

    1
    2
    3
    4
    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


    尝试用:P></

    1
    npm list --depth 1 --global packagename


    我已经建立了一个可以做到这一点的工具-QNM

    QNM—用于查询node_modules目录的简单CLI实用程序。

    安装时使用:

    1
    npm i --global qnm

    然后运行:

    1
    qnm [module]

    例如:

    1
    2
    3
    4
    5
    6
    7
    8
    > qnm lodash

    lodash
    ├── 4.17.5
    ├─┬ cli-table2
    │ └── 3.10.1
    └─┬ karma
      └── 3.10.1

    也就是说,我们在node_modules的根中安装了lodash,在cli-table2karmanode_modules中安装了另外两个副本。

    它真的很快,有一些很好的功能,比如标签完成和匹配搜索。


    在UNIX(使用的是便携式和sedgrep)一个眼线,归来the version string of a globally - installed(NPM)gfrom to remove the local -pg查询:packages instead)P></

    1
    2
    $ npm ll -pg --depth=0 grunt | grep -o"@.*:" | sed 's/.$//; s/^.//'
    0.4.5
    • 在输出的字符串npm ll茶类:/usr/lib/node_modules/npm:[email protected]:formatted parseable;
    • grepthe value between the command提取物和:@,包容性;
    • the command the characters sedremoves围岩结构。

    我的.bashrc added to thisP></

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    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

    现在的IS型:have to doP></

    • npmv for the version of NPM EG:NPM version is: 4.2.0
    • npmv > <包装name for the local EG:0.8.08version
    • npmv name > <包装:全球0.8.09G for version EG
    • 包装npmv<>name for latest version EG:0.8.10

    笔记-在线命令模式均值delimit D截止,followed by the f @,然后2均值均值场第二场因为there will be one of the或者端@符号。P></


    你可以试试这个:npm show {package} versionshows the latest version)。如果你是outdated包恩秀,将与npm outdated版本信息。P></


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


    package.jsonaccess the

    你可以访问package.jsonor the bower.jsonof the package with:P></

    notepad ./node_modules/:packageName/package.jsonP></

    这将打开在notepadwhich has the the package.jsonversion numberof the included in the command:packageName你。P></for example:

    notepad ./node_modules/vue-template-compiler/package.jsonP></

    再见。P></


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

    要查看已安装的NPM软件包及其版本,命令是npm ls --depth=0,默认情况下,该命令显示本地安装的软件包。要查看全局安装的软件包,请添加-global参数:npm ls --depth=0 -global

    --depth=0返回一个没有依赖项的已安装包的列表,这是您大多数时候想要做的。

    ls是命令名,listls的别名。