Node.jsにはいろんなバージョンがありますが、プロジェクトごとに違うバージョンを使う必要があったり、また最新版にアップデートしたいときなど、nodebrewを使うとNode.jsのバージョンを簡単に切り替えることができます。
nodebrewのインストールについては過去記事「WEB開発環境(Mac OS)に必要な各種インストール方法まとめ(1)」に記載していますのでこちらをご覧ください。
まずは、nodebrewがインストールされている前提ですが下記コマンドで、nodebrew自体のアップデートを行います。
$ nodebrew selfupdate
次にリポジトリに存在しているインストール可能なNode.jsのバージョン一覧を確認します。下記コマンドを叩くとリストでずらっと表示されますので、インストールしたいバージョンを確認します。
$ nodebrew ls-remote v0.0.1 v0.0.2 v0.0.3 v0.0.4 v0.0.5 v0.0.6 …
そしてNode.jsのインストールを行いますが、バージョンを直接指定するのと、推奨安定版もしくは最新版を指定してインストールすることが可能です。
// バージョンを指定してインストール $ nodebrew install-binary [VERSION] // 推奨安定版をインストール $ nodebrew install-binary stable // 最新版をインストール $ nodebrew install-binary latest
指定のバージョンがインストールできれば、下記コマンドでインストール済みのバージョン一覧を確認します。
$ nodebrew ls v7.5.0 v8.11.1 v10.0.0 current: v7.5.0
インストール済みのバージョンが表示され、currentの値には使用中のバージョンが表示されています。そして下記コマンドで使用するバージョンを指定して変更します。変更したらバージョンを確認して変わっていることをチェックします。
$ nodebrew use [VERSION] // 変更後のバージョンを確認 $ node -v
これでNode.jsのバージョンは変わったのですが、npmなどでインストールしたパッケージは空の状態になっています。ですので、再度モジュールを揃える必要があるのですが、そのような場合に下記コマンドで以前使っていたバージョンのモジュールを引き継ぐことができます。この時にバージョンは、引き継ぎ元のバージョンを指定します。
$ nodebrew migrate-package [VERSION]
また、不要なNode.jsのバージョンを削除する場合は下記コマンドでバージョンを指定して削除することが可能です。完全に削除するためにも2つとも実行しておきます。削除されたかどうかも念のため確認しておきます。
$ nodebrew uninstall [VERSION] $ nodebrew clean [VERSION] // 指定したバージョンが削除されたか確認 $ nodebrew ls
また、「nodebrew install-binary」のコマンドでインストールしようとすると、なぜか下記のようにバージョンが見つかりませんというエラーが出てインストールに失敗するケースもあるようです。
$ nodebrew install-binary v8.11.1 v8.11.1 is not found Can not fetch: https://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-x64.tar.gz
その時には「nodebrew selfupdate」でnodebrew自体のアップデートもしくは、Homebrew経由でnodebrewをインストールしている場合には下記のコマンドでnodebrewのアップデートを行います。
$ brew upgrade nodebrew
これで無事にnodebrewのアップデートができました、あとは同じようにnodebrewからNode.jsをインストールしていきます。
nodebrewを使うことで、いろんなバージョンを簡単に切り替えられることは大きなメリットですね!インストールしたパッケージも引き継げるので安心です。
(参考にさせて頂いたサイト)
【Mac】nodebrewのインストールとコマンドなど使い方まとめ