今回も前回に引き続きnpmに関しての記事です。
今回はpackage.jsonに記載されているパッケージのバージョンを簡単に更新する方法を紹介したいと思います。
前回のnpmコマンドの記事はこちら
www.hirooooo-lab.com
npmにはnpm update
というコマンドがあるのですが、このコマンドではpackage.jsonに書かれているバージョンに更新・インストールされるだけで、パッケージ自体のバージョンを更新することはできません。
パッケージのバージョンを更新するためには、package.json内のバージョンを最新のバージョンに書き換える必要があります。
これを1つ1つ最新バージョンの確認をして更新するのは大変なので、今回はnpm-check-updatesというパッケージを使用して更新したいと思います。
npm-check-updatesのインストール
npm-check-updatesもパッケージなのでnpmを使用してライブラリを追加します。
package.jsonにも追加するために --save-dev
オプションを付けてインストールしておきましょう。
$ npm install --save-dev npm-check-updates
これでnpm-check-updatesが使えるようになりました。
.node_moduleにパスを通す
グローバルインストールはしていないので、取得した実行モジュールにパスを通す必要があります。
以下のコマンドを実行
$ export PATH=$PATH:./node_modules/.bin
(毎回設定するのが面倒な場合は、.bashrcにEXPORTを追記して、.bash_profileで読み込んだりすればいいと思います。)
(または下記コマンドでグローバルインストールしましょう。)
$ npm install -g npm-check-updates
更新可能なパッケージの確認
バージョンが更新されていて、最新ではないパッケージの一覧を確認します。
$ npm outdated
outdated
コマンドでも確認はできるのですが、せっかくなのでnpm-check-updatesを使いましょう。
$ npm-check-updates
すると、こんな感じで更新可能なパッケージが表示されます。
$ npm-check-updates [INFO]: You can also use ncu as an alias Using /Users/hoge/Dev/angel/package.json ⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ : react-redux ^4.4.5 → ^5.0.2 eslint-config-airbnb ^13.0.0 → ^14.0.0 eslint-plugin-jsx-a11y ^2.2.3 → ^3.0.2 Run ncu with -u to upgrade package.json
ちなみに、npm-check-updates
は
$ ncu
のように省略も可能です。
丁寧に教えてくれてますね。
package.jsonの更新
package.jsonの更新可能なパッケージバージョンを書き換えるには-u
オプションを使用します。
これまた丁寧に教えてくれていますね。
$ npm-check-updates -u または $ ncu -u
これでpackage.jsonのバージョンが最新に更新されました。
実際のパッケージの更新
npm-check-updatesを使ってpackage.jsonが更新されてますので、あとは普通に
$ npm update
を実行するだけでOKです。
これで簡単にまとめて更新ができました。
Nodeモジュールはかなり頻繁に更新が行われてますので、npm-check-updatesはとても便利なパッケージだと思います。
パッケージ更新が大変で困ってる人は、ぜひ試してみると幸せになれるかもしれません。