Macでhomebrewとnodebrewを入れてnodeを動かす
macOSでWeb開発する時に必ず通る道ではあるが、毎回のようにやり方を忘れるのでメモをしておく。
homebrewはmacOS用のパッケージマネージャーで、centOSならyum、Ubuntuならapt-getに相当するものである。Macを使う皆が開発者じゃないので初期状態で入っていない。パッケージマネージャーを使うことで各種ソフトウェアを簡単に管理することができる。
またnodebrewはWindowsで言うnvmとかに相当するnodeのバージョン管理ツールである。複数の開発プロジェクトを持っている場合や、特定のnodeバージョンに不具合がある時など、バージョンを切り替えて使う可能性は高く、大抵の場合入れておいたら後々幸せなツールである。
この2つのツールを導入して、nodeを実際に起動できるところまで進めていく。
homebrewをインストール
homebrewのWebサイトに行き、スクリプトをコピーしてターミナルで叩く。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
このコマンドを一発でhomebrewコマンドが使えるようになる。
homebrewでnodebrewをインストール
次にnodebrewをインストールする
$ homebrew install nodebrew
...
######################################################################## 100.0%
==> 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
インストールが終わると、nodebrew用のディレクトリを準備する必要があると言われるので準備しておく。
$ /usr/local/opt/nodebrew/bin/nodebrew setup_dirs
すると~/.nodebrew/
以下に必要なファイルが生成される。これで好きなnodeのバージョンをインストールする準備が整った。ということで早速インストール
$ nodebrew install stable
Fetching: https://nodejs.org/dist/v12.16.1/node-v12.16.1-darwin-x64.tar.gz
######################################################################### 100.0%
Installed successfully
特に最新機能が使いたい場合でない限り、安定版をインストールしよう。名前の通り多くの人が使用して新機能を盛り込んでいないために不具合に遭遇する可能性が低い。
安定版はnodebrew install以下にstable
とつければ良い。最新のnode versionが使いたい場合はlatest
を指定し、特定のバージョンが使用したい場合は
$ nodebrew install v8.9.4
など特定のバージョンを指定しよう。そのnodeバージョンを使うには
$ nodebrew use v8.9.4
としてやれば良い。
nodeの実行PATHを指定する
ただ、このままではnodeの実行PATHが通っておらず、nodeコマンドを叩いてもnot foundな状態となる。そこでホームディレクトリに.bash_profile
ファイルを作成して下記を記述する。
export PATH=$HOME/.nodebrew/current/bin:$PATH
nodebrewで現在指定されているバージョン(currentバージョン)の実行ファイルに対するPATHを指定して、ターミナルの起動時にこの設定を読み出す訳である。
ちなみにMacでは.bashrc
は起動時に読みこまれないようなので他のLinux開発に慣れている場合は注意が必要である。
まとめ
これでターミナルを再起動してnode -v
と打ち、バージョン番号が出るようならば成功である。あとは適宜
nodebrew install <version>
nodebrew uninstall <version>
nodebrew use <version>
nodebrew list #インストール済のnode versionを全て表示
nodebrew ls #listと同じ Aliasコマンド
nodebrew ls-remote #指定可能なVersionリストの一覧を表示
あたりを使い必要なものだけを入れていけば良い。