Node.jsのバージョンを管理するためのバージョン管理ツールはいくつかあるようだが、その中から、nodenvを選択してインストールする。(homebrewありきで)
brew install nodenv
そして無事、nodenvがインストールされたかを確認するには、
nodenv -v
きちんとインストールされていれば、インストールされたnodenvのバージョン情報が出てくるはず。
その後、nodenv経由でnodeをインストールするわけだが、そのまえに、インストール可能なnodeの一覧を取得してみる。
nodenv install --list
まぁ、恐ろしく長いリストが出てくるので、その中から、インストールしたいバージョンを選んでインストールするわけだが、今回は「21.3.0」をインストールしてみる。
node install 21.3.0
しかし、ここで問題発生、先のコマンドでインストールできるのかと思いきや、以下のようなエラーが・・・。
node install 21.3.0
zsh: command not found: node ←これがエラー
まぁ、こんな場合は、~/.zshrc
にパスが通っていないということらしいので、まずは、~/.zshrc
を確認してみる。
cat ~/.zshrc
そうすると、以下のように「そんなもんね〜よ!」なんて言われてしまう始末・・・。
cat ~/.zshrc
cat: /Users/m/.zshrc: No such file or directory ←これがお叱り
よくよく考えると、前回シェルを「bash」から「zsh」に変更したのはいいが、それだけでは「.zshrc
」ファイルは勝手に作成されるというわけではないんだな・・・。
そんなわけで、以下のコマンドで「.zshrc
」ファイルを作成してやる。
touch .zshrc
きちんと作成できたかどうか調べるには、ファイルやディレクトリを表示してくれる「ls -a」で情報を見てみる。
そうすると、現在のうちのMacでは以下のように表示され、無事に「.zshrc」ファイルができたことを確認。
ls -a
. .bash_history .zsh_sessions Library
.. .bash_sessions .zshrc Movies
.CFUserTextEncoding .config Applications Music
.DS_Store .lesshst Desktop Pictures
.SynologyDrive .local Documents Public
.Trash .zsh_history Downloads SynologyDrive
ファイルができたところで、パスを通すわけだが、パスを通すにはターミナルで以下の構文を打ち込めばいいらしい。
echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(nodenv init -)"' >> ~/.zshrc
そして改めて、「node install 21.3.0」コマンドを打つと無事にインストール完了。
ここでインストールしたバージョンを確認するために以下を打つべし、打つべし、打つべし!
nodenv versions
21.3.0 ←これがインストールしたバージョン
さて、ここからインストールしたバージョンをMac全体に適応させるか、プロジェクトごとに適応させるのかを選択することができ、それぞれ以下のような構文となる。
nodenv global 21.3.0 ←Mac全体の場合
nodenv local 21.3.0 ←プロジェクトごとの場合
まぁ、当面はMac全体に設定しておきたいので、以下を打っておく。
nodenv global 21.3.0
ここまでやって初めて、現在設定されているNode.jsのバージョンを確認することができる。
node -v
v21.3.0
間違っても途中で「node -v」コマンドを打ちこまないこと。
「nodenv」をインストールしたら直後から「node」コマンドが使えるようになるなんて思わないほうがいい。
まぁ、これインテルMacだから苦労したわけで、M1以降のMacならここまで苦戦しないかもね。