概要
ずっと使っていたnodebrewをやめて、ディレクトリごとにnodeのバージョンを切り替えられるnodenvに乗り換えました。
きっかけ
firebaseを使った開発をしてて、フロント側とclound functionsで対応するnodeのバージョンが違う事案が発生しました。
nodebrewだとディレクトリでバージョンを切り替えられなかったので、探した末nodenvにたどり着きました。
導入手順
nodebrewを削除
まずはnodebrewを削除します。
$ brew uninstall nodebrew
あとは ~/.bash_profile
に書いてあるPATHを消します。(使用してるSHELLによってPATHの在り処は変わります)
$ vi ~/.bash_profile
# .bash_profile
PATH="~~" # nodebrewのPATH。ここを消す
nodeが消されたか確認します。
$ node -v
# バージョン情報が返ってこなければOK
nodenvをインストール
いろんな envライブラリを管理してる anyenv
をインストールして、そこからnodenvをインストールしてきます。
$ brew install anyenv
$ anyenv init
$ anyenv install nodenv
$ exec $SHELL -l
nodenvがインストールされたか確認します。
$ nodenv -v
nodenv 1.3.0+5.ae0f24a #こんな感じのが返ってきたらOK
nodeをインストール
まずはインストール可能なバージョンの確認を。
$ nodenv install -l
Available versions:
0.1.14
0.1.15
0.1.16
# 以下略
必要なnodeのバージョンをインストールします。
$ nodenv install 12.7.0
$ nodenv install 10.16.0
グローバル(通常使用する方)を設定。
$ nodenv global 12.7.0
$ node -v
v12.7.0
10系のほうは必要なディレクトリに移動して、以下のように設定します。
$ nodenv local 10.16.0
$ node -v
v10.16.0
あと、自分はyarnを使うのでそれも。
$ npm install -g yarn
インストールした諸々を反映させて
$ exec $SHELL -l
完了!
これでディレクトリごとにnodeバージョンの管理ができるようになりました。
うまく行かなかったらローカルにPATHの消し忘れはないか、反映し忘れはないかなど確認してみましょう。
あとは適宜本家Githubを見てみてくださいませ。