インストール済みのパッケージリストを取得
npm list --depth=0 -g
or
npm ls --depth=0 -g
-g
はグローバルオプションである。以下同様。
バージョンを指定してインストール
$ npm install <package name>@<package version> -g
例:
$ npm install cordova@5.4.1
インストール済みのパッケージを更新する
$ npm update <package name>@<package version>
@<package version>
を省略すると、そのパッケージの最新版に更新される。
例:
$ npm update antd@3.0.0
最新バージョンがあるかどうかを確認する
$ npm outdated
Package Current Wanted Latest Location
...
jquery 2.2.2 2.2.4 3.1.1 jquery
...
各パッケージに対し、 Current, Wanted, Latest という3つの列が表示されている。
それぞれの列の意味は以下の通りである。
- Current:現在インストールされているバージョン。
- Wanted:存在するバージョンのうち、
package.json
に記載されたsemver
条件を満たす最新のバージョン。 - Latest:そのパッケージの最新バージョン。
一括更新する
npm update
コマンドで outdated
のパッケージを一括更新できる。
$ npm update
が、npm update
コマンドには 2つの問題点がある。
- package.json に記載された semver のルールに従うため、^ つきの記載だとメジャーバージョンのアップデートまでは行ってくれない。
- package.json ファイルを更新してくれない。
そこで、npm-check-updates
と言うツールが登場する。
以下、その使い方を簡単に紹介する。
npm-check-updates
npm-check-updates
をインストール
$ npm install -g npm-check-updates
最新バージョンがあるかどうかを確認する
上記で紹介された $ npm outdated
に該当する。
$ ncu
注: $ npm-check-updates
でもOK。
package.jsonの更新
$ ncu -u
実際のパッケージを一括アップデートする
上では package.json
が更新されただけ。
$ npm update
特定のパッケージを指定
$ ncu -u {package_a}
スペース区切りで複数のパッケージ一度に指定できる。
$ ncu -u {package_a} {package_b}
特定のパッケージを除外
$ ncu -x {package_a}
特定のパッケージを除外しつつその他のパッケージをアップデートしたいときには、
下記のようにコマンドを入力する。
$ ncu -u -x {package_a}
正規表現を使う
頭に「npm-」が付いているものだけを確認したい場合は、
$ ncu '/^npm-.*$/'
参考
http://phiary.me/npm-package-version-info-install/
http://dackdive.hateblo.jp/entry/2016/10/10/095800
https://www.nxworld.net/services-resource/npm-check-updates.html