Nodeバージョン管理ツール 【nodebrew / n / nodenv】

パソコン買い替えやテレワークなどで、パソコンを初期化したりセットアップし直したりすることが最近多かったのですが、
その度に「あ、このPCにはこのツール入れてなかったか…こっちにしてみようかな…」みたいなことがありまして、
このNodeバージョン切り替えのツールについてもそんな感じで、結局下記3ツール使ってみたので、
その感想をかいておこうと思います。
nodebrew
nodebrewコマンドでインストールしたNode.jsを管理します。
すでに別にNode.jsがインストールされている場合は、削除しておきましょう。
個人的な感想としては、可もなく不可もなくでした。
インストール
Homebrewはインストールされていることを前提にしています。
$ brew install nodebrewインストールできるNodeのバージョンを確認
$ nodebrew ls-remoteNodeをバージョン指定してインストール
$ nodebrew install vバージョン例)nodebrew install v16.0.0
最新版Nodeのインストール
$ nodebrew install latest推奨版Nodeのインストール
$ nodebrew install stableインストールしたNodeのバージョン一覧確認
$ nodebrew lsv16.0.0
current: none
・・・のような答えが返ってきます。currentは、有効になってるバージョン。最初は有効になっていません。
Nodeバージョンの切り替え、有効化
$ nodebrew use vバージョン例)nodebrew use v16.0.0
n
nはnpmパッケージです。
「n」とたたくだけでバージョンの切替を上下キーで選んで切り替えられるのがすごく便利。
一文字というのが画期的!覚えやすい。個人的に3つの中では一番好みです。
インストール
グローバルにインストールする場合は下記
$ npm install -g n/usr/local/ にインストールしたくなければ、公式にあるようにN_PREFIXを用いて保存場所を変えることができます。
export N_PREFIX=$HOME/.n
export PATH=$N_PREFIX/bin:$PATHちなみにusr/localにある場合は、nodeをインストールするときに権限がないので、
sudoをつけてインストールすることになります。
Homebrewを使ってインストールすることもできます。
$ brew install nインストールできるNode.jsのバージョンを確認
$ n lsグレーがインストール可能なバージョン、
白文字がインストールされているバージョン、
青丸がついてるのが今適用されているバージョン。
…というように、とても見やすいです。
Nodeをバージョン指定してインストール
$ n バージョン例)n 12.18.3
最新版Nodeのインストール
$ n latest推奨版Nodeのインストール
$ n stableインストールしたNodeのバージョン一覧確認と切替
$ nこの一文字で
node/11.2.0
ο node/15.6.0
node/16.0.0のような形で表示されるので、上下キーで選択できます。
nodenv
nodenvコマンドでインストールしたnode.jsを管理します。
ローカル用にNodeのバージョンを記載したファイルを置くことにより、バージョンが勝手に切り替わるところが便利。バージョンなんだっけ…と迷う時間がなくなります。
インストールできるNodeのバージョンのリストは、何もしなければ基本的にインストール時のものになっています。新しいNodeを入れたいときは、プラグインを使ってリストをアップデートする必要があります。
インストール
私はanyenv経由でnodenvをインストールしましたが、Homebrewでのインストールも公式ではお勧めされています。
$ brew install nodenv~/.bash_profileなどシェル初期化ファイルに下記を追加
eval "$(nodenv init -)"そのあとシェルを再起動します。
$ exec $SHELL -lインストールできるNode.jsのバージョンを確認
$ nodenv install --listNodeをバージョン指定してインストール
$ nodenv バージョン例)nodenv 16.0.0
インストールしたNodeのバージョン一覧確認
$ nodenv versionsNodeバージョンの切り替え、有効化
$ nodenv global バージョンローカル固有のNodeバージョンを設定
$ nodenv local バージョン例)nodenv local 16.0.0
これでカレントフォルダに「.node-version」というファイルができ、
node -v で確認すると、ローカルに設定したバージョンが出ます。
nodenv-updateをインストール
インストールできるNodeのバージョンのリストのアップグレードをしてくれるプラグインです。
公式Github
pluginsフォルダを作ってそこにクローン
$ mkdir -p "$(nodenv root)"/plugins
$ git clone https://github.com/nodenv/nodenv-update.git "$(nodenv root)"/plugins/nodenv-updateアップデート
$ nodenv update最初、これを知らなかったので、「推奨版のNodeがインストールできない!」と思いました。
まとめ
使い勝手がいいのはnで、案件が多くなってきたときに便利だと感じるのはnodenvです。
それにしても、ちょっと前まで「バージョン管理」していると認識なく使ってしまっていたので、いろんなところにNodeがインストールされてる事態になっていました。(しかもマシンによって違うという…もはやバージョン管理ツールに振り回されている状態)
これからは意識して使っていきます。































