npm / yarn のライブラリ管理手順

各プロジェクト用ライブラリの一括更新フロー

npm

package.jsonを置いたディレクトリでnpm outdatedを実行して更新対象を確認したうえで、npm update

$ npm outdated

Package                  Current  Wanted  Latest  Location
babel-core                6.17.0  6.18.2  6.18.2  opt
babel-loader               6.2.5   6.2.8   6.2.8  opt
babel-preset-es2015       6.16.0  6.18.0  6.18.0  opt
enzyme                     2.4.1   2.6.0   2.6.0  opt
material-ui               0.16.0  0.16.4  0.16.4  opt
react                     15.3.2  15.4.0  15.4.0  opt
react-addons-test-utils   15.3.2  15.4.0  15.4.0  opt
react-addons-update       15.3.2  15.4.0  15.4.0  opt
react-dom                 15.3.2  15.4.0  15.4.0  opt
react-tap-event-plugin     1.0.0   1.0.0   2.0.1  opt
webpack                   1.13.2  1.13.3  1.13.3  opt

$ npm update

なお、npm updateを実行すると、package.jsonのバージョン指定にもとづいて”Wanted”のバージョンに更新されます。
メジャーバージョンアップによりWantedよりも新しいLatestバージョンが存在していて更新したい場合、package.jsonのバージョン指定を書き換えたうえで、npm updateを実行します。

npm-check-updatesなど、package.jsonの定義を更新する補助ツールも存在しています。

yarn

yarnもnpmと同様の手順でライブラリを更新できます。パッケージ更新のサブコマンドはupdateではなくyarn upgradeです。

$ yarn outdated

yarn outdated v0.15.1
Package                 Current Wanted Latest
babel-core              6.17.0  6.18.2 6.18.2
babel-loader            6.2.5   6.2.8  6.2.8 
babel-preset-es2015     6.16.0  6.18.0 6.18.0
enzyme                  2.4.1   2.6.0  2.6.0 
eslint                  3.8.0   3.10.2 3.10.2
eslint-config-airbnb    12.0.0  12.0.0 13.0.0
eslint-plugin-import    1.16.0  1.16.0 2.2.0 
eslint-plugin-jsx-a11y  2.2.3   2.2.3  3.0.1 
eslint-plugin-react     6.4.1   6.7.1  6.7.1 
material-ui             0.16.0  0.16.4 0.16.4
react                   15.3.2  15.4.0 15.4.0
react-addons-test-utils 15.3.2  15.4.0 15.4.0
react-addons-update     15.3.2  15.4.0 15.4.0
react-dom               15.3.2  15.4.0 15.4.0
react-tap-event-plugin  1.0.0   1.0.0  2.0.1 
webpack                 1.13.2  1.13.3 1.13.3
Done in 7.00s.

$ yarn upgrade

なお、yarnは動作が高速であるという触れ込みで、実行時間を主張してきます。

yarn upgradeは、npmコマンドと同様に、各パッケージをWantedのバージョン(package.jsonの設定にもとづく)に更新する動作となります。

Latestにしたい場合は、yarn upgrade some_packageのように個別パッケージを指定することで、package.jsonの設定が変更され、メジャーバージョンアップできます。

グローバルインストールしたツールの一括更新フロー

グローバルオプション(-g)を付け加えることで同様に更新できます。

$ npm outdated -g

Package    Current  Wanted  Latest  Location
node-sass   3.10.1  3.13.0  3.13.0
npm         3.10.8   4.0.3   4.0.2
webpack     1.13.2  1.13.3  1.13.3
yarn        0.15.1  0.17.6  0.17.6

$ npm update -g
中馬崇尋
Chuma Takahiro