Mac (M2) でNodeJSのバージョンを変更する #333日目
MacではデフォルトでNode.jsがインストールされていますが、開発環境に応じてバージョンを変更したい場合があると思います。M2だとzshがデフォルトだったりして、パスの指定などで少し特殊だったので方法をメモしておきます。
環境
・macOS M2
・Homebrew3.6.16
Homebrewでnodebrewをインストール
まずはHomebrewを使って、Node.jsのバージョン管理ツールであるnodebrewをインストールします。
始めに現在のnodeのバージョンを確認しておきます。以下のバージョンから変更していくことになります。
% node -v
v19.3.0
続いてHomebrewのバージョンも確認しておきます。
% brew -v
Homebrew 3.6.16
nodebrewをインストールする前にHomebrewをアップデートしておきます。
% brew update
==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
https://github.com/Homebrew/brew#donations
Updated 1 tap (homebrew/core).
==> New Formulae
bossa
インストール前にnodebrewのバージョンを確認してみます。この時点ではコマンドが無いというエラーになります。
% nodebrew -v
zsh: command not found: nodebrew
それではHomebrewでnodebrewをインストールします。ここでセットアップ手順についても指示が出てきます。「Add path」のところです。
% brew install nodebrew
==> Fetching nodebrew
==> Downloading https://ghcr.io/v2/homebrew/core/nodebrew/manifests/1.2.0
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/nodebrew/blobs/sha256:eed2aeff4fd05a4c2969d670ce9a3
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:eed2aeff4fd05a4
######################################################################## 100.0%
==> Pouring nodebrew--1.2.0.all.bottle.tar.gz
==> Caveats
You need to manually run setup_dirs to create directories required by nodebrew:
/opt/homebrew/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=/opt/homebrew/var/nodebrew
zsh completions have been installed to:
/opt/homebrew/share/zsh/site-functions
==> Summary
🍺 /opt/homebrew/Cellar/nodebrew/1.2.0: 8 files, 40.7KB
==> Running `brew cleanup nodebrew`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
パスの設定をする前に、この時点でnodebrewコマンド自体は使えるようになっているので、インストールされたバージョンを確認してみます。
% nodebrew -v
nodebrew 1.2.0
無事にコマンドが使えました。それではパスの設定をやっていきます。M系のMacを使用されている場合は「.zshrc」にパスを設定し、シェルの設定を即座に反映させるsourceコマンドを叩きます。
[.zshrc]
# Setting for node
export PATH=$HOME/.nodebrew/current/bin:$PATH
% source ~/.zshrc
これでnodejsのバージョン管理を行う準備が整いました。
nodebrewでNodeJSのバージョンを変更する
nodebrewが動作するようになったので、早速バージョン変更をやってみます。まずインストール可能なバージョンの一覧を取得します。
% nodebrew ls-remote
v0.0.1 v0.0.2 v0.0.3 v0.0.4 v0.0.5 v0.0.6
〜省略〜
v18.0.0 v18.1.0 v18.2.0 v18.3.0 v18.4.0 v18.5.0 v18.6.0 v18.7.0
v18.8.0 v18.9.0 v18.9.1 v18.10.0 v18.11.0 v18.12.0 v18.12.1
v19.0.0 v19.0.1 v19.1.0 v19.2.0 v19.3.0
〜省略〜
18系の最新バージョンである「v18.12.1」をインストールしてみます。ただしこのままでは失敗する場合があります。
% nodebrew install-binary v18.12.1
Fetching: https://nodejs.org/dist/v18.12.1/node-v18.12.1-darwin-arm64.tar.gz
Warning: Failed to open the file
Warning: /Users/y.mori/.nodebrew/src/v18.12.1/node-v18.12.1-darwin-arm64.tar.gz
Warning: : No such file or directory
curl: (23) Failure writing output to destination
download failed: https://nodejs.org/dist/v18.12.1/node-v18.12.1-darwin-arm64.tar.gz
インストール先のファイルが無いよと言われていますね。ここはファイルを作成すればOKです。
% mkdir -p ~/.nodebrew/src
これで再度インストールしてみます。
% nodebrew install-binary v18.12.1
Fetching: https://nodejs.org/dist/v18.12.1/node-v18.12.1-darwin-arm64.tar.gz
############################################################################################# 100.0%
Installed successfully
成功しました!バージョンが変わったかどうか確認してみます。
% node -v
v19.3.0
デフォルトで設定されていたバージョンのままになっています。まだ変更自体は行っていないからですね。では先ほどインストールしたバージョンが無事存在しているか確認してみます。
% nodebrew ls
v18.12.1
current: none
バージョンは存在していました。currentがnoneになっているのでここに設定します。以下のコマンドでOKです。
% nodebrew use v18.12.1
use v18.12.1
バージョンを確認してみます。
% node -v
v18.12.1
無事に変更されました!
ここまでお読みいただきありがとうございました!
参考
この記事が気に入ったらサポートをしてみませんか?