/Macでnodeのバージョン切り替えnodebrewの使い方

nodebrewとは

nodebrewは、node.jsを自分のマシン内でversion管理するためのツール。

問題点

あるプロジェクト内でnodeのバージョンが違うよと怒られた。 nodeのバージョンを確認すると、v14.13.0

Kaoris-MacBook-Pro:mobliz tokashiki$ yarn yarn install v1.22.5 [1/5] 🔍 Validating package.json... error weseek@1.0.0: The engine "node" is incompatible with this module. Expected version ">=8 <11". Got "14.13.0" error Found incompatible module. info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command. Kaoris-MacBook-Pro:mobliz tokashiki$ node -v v14.13.0

nodebrewにインストールされているバージョンを見てみるとv10.22.1で、currentの指定がnoneとなっていた.

Kaoris-MacBook-Pro:mobliz tokashiki$ nodebrew ls v10.22.1 current: none

そこでnodebrew use v10.22.1を実行しv10.22.1を指定したが

Kaoris-MacBook-Pro:mobliz tokashiki$ nodebrew use v10.22.1 use v10.22.1

再度nodeのバージョンを確認してみると、

Kaoris-MacBook-Pro:mobliz tokashiki$ node -v v14.13.0

のままであるという問題に直面。 つまり、nodebrewで指定したnodeのバージョンと、実際に適応されているnodeのバージョンが違う。

わかったこと

グローバルなnodeのバージョンをチェック

Kaoris-MacBook-Pro:~ tokashiki$ node -v v14.13.0

ここでも同じくv14.13.0が使用されている。 つまり、グローバルなnodeのバージョンがローカルなところでも適用されているようだ。

解決方法

解決方法は主に二つ

  1. グローバルなnodeのバージョンをv10.22.1に下げる
  2. ローカルなnodeのバージョンだけv10.22.1が適用されるようにする

私の場合、グローバルなnodeのバージョンは、他プロジェクトで使用するため変更したくなかった。 → 2を選ぶ。

以下を実行することで解決。

Kaoris-MacBook-Pro:mobliz tokashiki$ nodebrew alias default v10.22.1 default -> v10.22.1 Kaoris-MacBook-Pro:mobliz tokashiki$ node -v v10.22.1

参考サイト

Macでnodeのバージョン切り替え -nodebrew の使い方 external_link nodebrewを使ってNode.jsの複数バージョンを簡単に使い分ける external_link