pkgでインストールしたnode.jsを、Nodebrewのnode.jsに入れ替えたい!


nodeのバージョン管理を簡単にした〜い

ので、個人的にnodeをインストールするときは最初からNodebrewを使っているのですが、仕事で使っているマシンでは何を思っていたのかpkgでインストールしていたので、入れ替えした手順を備忘として残したいと思います

同部署の人がnodeのバージョン変更で手こずってて、Nodebrewで一発やんけと嘲笑していたところ
自分もpkg版だったのでしれっと入れ替えた

とりあえず最初に、そもそもnode.jsが入っているかを確認しておきましょう

$ node -v

そしてNodebrewとは、👇

hokaccha / nodebrew

Node.js version manager. Contribute to hokaccha/nodebrew deve github.com


pkg(インストーラ)でインストールしたnode.jsをアンインストールする

まずは、すでにインストーラでインストールされているnodeをアンインストールします
ターミナルで下記を実行します

$ lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom \

そして下記を1行ずつ実行します

| while read i; do

 sudo rm /usr/local/${i}

done

sudo rm -rf /usr/local/lib/node \

/usr/local/lib/node_modules \

/var/db/receipts/org.nodejs.*

「\」が最後についているコマンドを実行すると、次の行の初めに「>」がつきますが、そのままコマンド実行して大丈夫です

一緒にnpmもアンインストールします

$ sudo rm -rf ~/.npm

上記コマンドまでで、インストーラでインストールしたnode.jsとnpmのアンインストールが済みました🎉

Nodebrewをインストールする

Nodebrewを入れる前に…

Homebrewをインストールしていないと、Nodebrewもインストールできません
(HomebrewでNodebrewをインストールするので…)

なので、Homebrewがインストールされているか確認しましょう

$ brew doctor

⚠️エラーが出ていたら、エラー内容を確認して解消しておきます

Your system is ready to brew.

問題なくインストールされていれば、「(Homebrewの)準備できてるよ!」と言われます

インストール自体をまだしていなければ、下記ワンライナーを実行して、インストールしておきましょう

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Homebrew

Homebrew The Missing Package Manager for macOS (or Linux).   

Nodebrewをインストールする

インストーラでインストールしたnode.jsをアンインストールして、Homebrewもインストールしたところで、
やっとこさNodebrewをインストールします!

$ brew install nodebrew

Homebrewのアップデートがある場合は、ここでしれっとアップデートされます😂

~~~中略~~~

==> Downloading https://github.com/hokaccha/nodebrew/archive/v1.0.1.tar.gz
==> Downloading from https://codeload.github.com/hokaccha/nodebrew/tar.gz/v1.0.1
#=#=#                                                                         
==> Caveats
You need to manually run setup_dirs to create directories required by nodebrew:
 /usr/local/opt/nodebrew/bin/nodebrew setup_dirs

Add path:
 export PATH=$HOME/.nodebrew/current/bin:$PATH

To use Homebrew's directories rather than ~/.nodebrew add to your profile:
 export NODEBREW_ROOT=/usr/local/var/nodebrew

Bash completion has been installed to:
 /usr/local/etc/bash_completion.d

zsh completions have been installed to:
 /usr/local/share/zsh/site-functions
==> Summary
🍺  /usr/local/Cellar/nodebrew/1.0.1: 8 files, 38.6KB, built in 2 seconds

Nodebrewがインストールされたっぽいですね
下記コマンドを実行して、問題なくインストールされているか確認してみましょう

$ nodebrew -v

バージョン番号をはじめ、コマンド一覧などが出てきたら、Nodebrewがインストールされています🎉
また、brewコマンドでも確認できます

$ brew list
nodebrew        <- Nodebrew入ってる!

次に環境変数へNodebrew関連のものを追加します

$ vi ~/.bash_profile

viコマンドで直接下記のパスを追加します

export PATH=$HOME/.nodebrew/current/bin:$PATH

追加したらsourceコマンドで更新して、この設定を反映させます

source ~/.bash_profile

最後にset upしてNodebrewのインストール〜設定完了です!

$ nodebrew setup
Fetching nodebrew...
Installed nodebrew in $HOME/.nodebrew

========================================
Export a path to nodebrew:

export PATH=$HOME/.nodebrew/current/bin:$PATH
========================================

さっき更新した設定がset upされていることが確認できます

Nodebrewでnode.jsを再インストールする

Nodebrewもインストールできたので、これでやっとpkg版node.jsに代わる、 Nodebrew版node.jsインストールの準備が整いました

まずはインストールするnode.jsの格納先を作りましょう

$ mkdir -p ~/.nodebrew/src

Nodebrewでインストールできるnode.jsのバージョンを確認してみます

$ nodebrew ls-remote
v0.0.1   
 v0.0.2    v0.0.3    v0.0.4    v0.0.5    v0.0.6    

v0.1.0    v0.1.1    v0.1.2    v0.1.3    v0.1.4    v0.1.5    v0.1.6    v0.1.7
v0.1.8    v0.1.9    v0.1.10   v0.1.11   v0.1.12   v0.1.13   v0.1.14   v0.1.15
v0.1.16   v0.1.17   v0.1.18   v0.1.19   v0.1.20   v0.1.21   v0.1.22   v0.1.23
v0.1.24   v0.1.25   v0.1.26   v0.1.27   v0.1.28   v0.1.29   v0.1.30   v0.1.31
v0.1.32   v0.1.33   v0.1.90   v0.1.91   v0.1.92   v0.1.93   v0.1.94   v0.1.95
v0.1.96   v0.1.97   v0.1.98   v0.1.99   v0.1.100  v0.1.101  v0.1.102  v0.1.103
v0.1.104  

v0.2.0    v0.2.1    v0.2.2    v0.2.3    v0.2.4    v0.2.5    v0.2.6    

v0.3.0    v0.3.1    v0.3.2    v0.3.3    v0.3.4    v0.3.5    v0.3.6    v0.3.7
v0.3.8    

v0.4.0    v0.4.1    v0.4.2    v0.4.3    v0.4.4    v0.4.5    v0.4.6    v0.4.7
v0.4.8    v0.4.9    v0.4.10   v0.4.11   v0.4.12

​~~~中略~~~
​

上記のように、ずらずら〜っとバージョン番号が並びます
その中から使いたいバージョン番号を選んで、

$ nodebrew install <バージョン番号>

でインストールします
ちなみに、安定版のインストールは、

$ nodebrew install-binary stable

最新版のインストールは、

$ nodebrew install-binary latest
Installed successfully

「successfully」とあるので、インストール成功したっぽいですね
問題なく指定したバージョン番号のnode.jsがインストールできているか確認してみましょう

$ nodebrew ls

上記コマンドを実行して、先ほどインストールしたバージョン番号が表示されれば、問題なくインストールできています🎉
インストールしたnode.jsのバージョンをcurrentに設定します

$ nodebrew use <使いたいバージョン番号>

で設定し、

$ nodebrew ls

で出てくる「current」に使いたいバージョン番号が表示されていれば、晴れて入れ替え完了です!🎉
currentに表示されているnode.jsのバージョンが使われます

$ node -v
$ npm -v

で使用されるバージョンが確認できます

node.jsのバージョンを変えてみる

せっかくNodebrewでnode.jsのバージョン管理が楽になったので、お試しでバージョンを変えてみましょう

$ nodebrew ls-remote

でインストールできるバージョンを確認して…

$ nodebrew install v13.13.0

試しで入れてみる「v13.13.0」を指定してインストールして…

$ nodebrew ls
v13.13.0
v14.5.0    <- 先に入れていたバージョン

current: v14.5.0    <- 先に設定していたバージョン

問題なく追加で入れたバージョンが表示されていることを確認して…

$ nodebrew use v13.13.0

追加で入れたバージョンを設定して…

$ nodebrew ls
v13.13.0    <- 追加で入れたバージョン
v14.5.0

current: v13.13.0    <- 追加で入れたバージョン

できました!🎉
複数のバージョンが保持できて、しかも切り替えも簡単ですよね!

一応それぞれのコマンドでもバージョン確認

$ node -v
v13.13.0
$ npm -v
6.14.4

最新版だとうまく動かない…や、
様々なバージョンで動作確認したい!などに当てはまる方には、入れ替え超おすすめします!