見出し画像

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


無事に変更されました!
ここまでお読みいただきありがとうございました!


参考


この記事が気に入ったらサポートをしてみませんか?