インストールされているnpmパッケージのバージョンを見つける


2199

インストールされているnode.js / npm パッケージのバージョンを確認するにはどうすればよいですか?

npm自体のバージョンを出力します。

npm -v <package-name>

これは不可解なエラーを出力します:

npm version <package-name>

これにより、パッケージのバージョンがレジストリに出力されます(つまり、利用可能な最新バージョン)。

npm view <package-name> version

インストールされたバージョンを取得するにはどうすればよいですか?


5
私のインストールでは、「npm -v <package-name>」はnpm自体のバージョンを報告します。レジストリ内のパッケージの最新バージョンを一覧表示するために、「npm view <package-name> version」で作業が完了することがわかりました。
デビッドA.グレイ

15
npm showインストールされていない最新のnpmを示しています
Tsagana Nokhaeva

回答:


2577

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引数を追加して、依存関係のないインストール済みパッケージをリストすることもできます。


126
MacとLinuxでは、「| grep module_name」を追加して、目的のモジュールバージョンをフィルタリングすると便利です。特に-gを使用してグローバルに実行する場合。例:「npm list -g | grep express」は、インストールされているExpressバージョンを取得します。
guya

103
特定のモジュールが必要な場合はnpm list less-middleware、例のように実行できます。
juanpaco 2014年

13
@nixベースのシステムに関する@guyaのヒントによると、WindowsではPowerShellを使用して同様の結果を得ることができ| select-string module_nameます。または、Git Bash(または、Bashのみ)を使用してgrepいる場合は、を使用できます。
ノエル

15
思い出せないlist場合npm lsでも動作します。実際、多くのnpmコマンドにはエイリアスがあり、さらに、コマンドのサブストリングを入力した場合、このサブストリングが明確であれば、それも機能します。例えばnpm lsnpm listnpm lisすべて同じです。より詳細な出力が必要な場合は、試してみてくださいnpm ll(ただし、おそらくそれに--depth=0追加する必要があります)。
jakub.g 2016年

4
出力は、スクリプトでの解析には最適ではありません。次のようなことをせずに、パッケージバージョンだけの出力を取得する方法は本当にありませんかnpm list -g | awk -F@ '/<package>/ { print $2}'
Thayne

868

ローカルにインストールされており、依存関係ないパッケージを見つける別の簡単な方法は、

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


14
--depth
ygaradonが

7
npm 1.4.6で修正されたようです。github.com/npm/npm/issues/4733
Howie

7
で素晴らしい作品| grep <package_name>
マルコ・プリンス

4
@ygaradon正解ですが、--depth=0依存関係を再帰的にロードする必要がないため、速度が速くなります
Marco Prins

npm list -g --depth=0グローバルにインストールされたリストモジュールの場合
EdgeDev

220

npm view <package> version -パッケージで利用可能な最新バージョンを返します。

npm list --depth=0 -インストールされているすべてのモジュールのバージョンを依存関係なしで返します。

npm list -すべてのモジュールと依存関係のバージョンを返します。

最後に、ノードのバージョンを取得します。 node -v


16
npmビュー<パッケージ>バージョン、ローカルファイルシステムではなくnpmリモートレジストリに移動します...
Alexander Mills

@AlexanderMills真ですが、ここに置くと、そのための別の検索を回避できます。ところで、npm vnpm infoおよびnpm showすべての別名ですnpm view
CPHPython

85
npm info YOUR_PACKAGE version

例えば

npm info grunt version
0.4.5

105
インストールされているパッケージのバージョンは表示されません。最新の利用可能なバージョンが表示されるだけです。
Tanner Semerad

@ tanner-semeradに同意します。それを明確にするために、npmのドキュメントにチェックインしました。 npm infoこのエイリアスはnpm viewnpmのエイリアスであり、npmのドキュメントで次のように表示されますこのコマンドは、パッケージに関するデータを表示し、デフォルトでstdoutであるoutfd構成によって参照されるストリームに出力します。[...] 指定がない場合、デフォルトのバージョンは「最新」です。 それが私が投票する方法です。
dannydedog

インストールされている最新バージョンではなく、利用可能な最新バージョンを表示します。反対投票。
lofihelsinki

2
npm info YOUR_PACKAGE version:)
GOXR3PLUS

同じ、「npm info YOU​​R_PACKAGE version」動作した唯一のバージョン
Jonas

63

使ったばかり

npm list | grep <package name>

そしてそれはうまくいった

Windowsで実行:

npm list | find <package name>

PowerShell実行:

npm list | sls <package name>

3
findでも、引用符で囲まれた文字列ではなく、PowerShellはうまく機能-バージョンは私のために動作しません
フィアット

4
Windowsユーザーの場合: 二重引用符にnpm list -g --depth=0 |find "<package name>"注意してください
robe007

56

パッケージのルートから:

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

編集:(cdまだそこにいない場合は、モジュールのホームディレクトリに移動する必要があります。でモジュールをインストールした場合npm install、その下にありますnode_modules/<module_name>

編集2:@ jeff-dickeyからの回答に従って更新


いいね!他の回答が示唆しているように、「npm list」を実行するよりもかなり高速です(〜20秒ではなく〜1秒)-少なくともこのコードスニペットを準備している場合は!(これを行うには、実際にはnpmプラグインが必要です...)
Venryx

1
またはnode -p "require('./package.json').version"
Jeff Dickey

2
^〜のような範囲の区切り文字がある場合、これは実際のバージョンがインストールされ得ることはありません
geedew


21

上記の答えのいくつかを組み合わせると、超シンプルで超高速なルックアップが生成されます。
プロジェクトのルートから実行します。cdフォルダーに移動する必要はなく、1行だけです。

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


21

次のコマンドでバージョンを確認することもできます。

npm info <package name> version


29
この場合も、現在インストールされているパッケージのバージョンではなく、パッケージレジストリで利用可能な最新バージョンが表示されます。
David FerenczyRogožan18年

@DawidFerenczy npm info httpaction
Nitinの

16

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

14

あなたが十分に勇気があるなら(そして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);"
papiro

12

インストールされているすべてのパッケージをローカルまたはグローバルに表示するには、次のコマンドを使用します。

  1. npm listローカルパッケージまたはnpm list -gグローバルにインストールされたパッケージの場合。
  2. npm list --depth=0
  3. npm list | sls <package name>
  4. node -v


10

私はまさにそれを行うツールを構築しました-qnm

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し、2つの他のコピーnode_modulescli-table2karma

これは本当に高速で、タブ補完や一致検索などの優れた機能を備えています。


9

ローカルパッケージをバージョン番号で一覧表示するには、次のコマンドを使用します。

npm ls --depth=0

バージョン番号を含むグローバルパッケージを一覧表示するには、次のコマンドを使用します。

npm ls -g --depth=0


8

あなたは使用することができ、[モジュール]バージョン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

15
これらのすべては、最新の利用可能バージョンではなく、現在インストールされているバージョンを示して
STH

8

npm list --depth 0 すべてのライブラリをバージョンとともに表示するコマンドですが、使用できます npm-check

npm-checkは、ライブラリのバージョン、新しいバージョンの更新、未使用のバージョンなどを表示するバージョンシステムイベントに関するこれらすべてのものを管理するための優れたライブラリです。

インストールするだけで実行

npm install -g npm-check

そして単に実行する

npm-check

パッケージのバージョン、新しいバージョンの更新、未使用のバージョンに関するすべてを示しているスクリーンショットを確認してください。

ここに画像の説明を入力してください

グローバルにも機能します。試してみる。これが誰かを助けることを願っています。


7

以下は、グローバルにインストールされたnpmパッケージのバージョン文字列を返すポータブルUnix(grepおよびを使用sed)のワンライナーです(代わりにgfrom -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このコマンドは、周囲の文字を削除します。

6

これを自分の.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のバージョンのnpmv例:NPM version is: 4.2.0
  • ローカルバージョンのnpmv <package-name>例:0.8.08
  • npmv <package-name> g(グローバルバージョンの場合)例:0.8.09
  • npmv <package-name> l最新バージョンの例:0.8.10

注-cutコマンドの-dは、@記号が続く区切り文字を意味します。@記号のいずれかの側があるため、fはフィールドを意味し、2は2番目のフィールドを意味します。


5

あなたはこれを試すことができます: npm show {package} version最新のパッケージバージョンを表示します。そして、パッケージが古い場合、npm outdatedバージョン情報とともに表示します。


2
OPは、パッケージレジストリで利用可能な最新バージョンではなく、現在インストールされているパッケージのバージョンについて尋ねていました。
David FerenczyRogožan18年

5

これは単純な質問であり、上記で見たものよりも簡単な答えがあるはずです。

インストールされているnpmパッケージとそのバージョンを確認するにはnpm ls --depth=0、コマンドはで、デフォルトではローカルにインストールされているものを表示します。グローバルにインストールされたパッケージを表示するには、-global引数を追加しますnpm ls --depth=0 -global

--depth=0 インストールされたパッケージのリストをそれらの依存関係なしで返します。これはほとんどの場合あなたがしたいことです。

lsはコマンドの名前で、list のエイリアスですls


3

へのアクセス package.json

package.jsonまたはbower.jsonのパッケージにアクセスするには:

notepad ./node_modules/:packageName/package.json

これが開きますpackage.jsonnotepad持ってversion number:packageNameあなたはに含まをcommand

例えば ​​:

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

幸運を。


6
これを行うにははるかに簡単な方法があるだけでなく、package.jsonで指定したバージョンは、サーバーの範囲表記のために実際にインストールされているバージョンではない場合があります。つまり、依存関係はバージョン^ 1.3.0として指定できますが、バージョン1.3.0から1.99.99までのすべてを意味する可能性があります
アイソクロナス

3

npm view any-promise(モジュール名)-v を使用できます


1
これは、ローカルディレクトリ内のバージョンではなく、利用可能な最新バージョンを示しています。
christianbundy

@christianbundy npm list --depth = 0 |を使用できます。grep uuid
Nitin。

を使用する必要がnpm list --depth=0 | grep uuid | awk '{ print $2; }' | cut -d '@' -f 2ありましたが、そうです、これはトップレベルの依存関係である限り機能します。ただし、元の質問に基づいて、常にそうだとは思いません。
christianbundy


0

その非常に単純な..行の下に入力するだけ

npm view < package-name > version

**例**

npm view redux version

reduxのバージョン7.2.0があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.