nodenvでローカルのnodeのバージョンを切り替える

プログラミング

viteでvue.jsの勉強をしようとしたらローカルのnodeのバージョンが低くエラー

$ yarn create vite
yarn create v1.22.10
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
error create-vite@5.1.0: The engine "node" is incompatible with this module. Expected version "^18.0.0 || >=20.0.0". Got "16.13.1"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/create for documentation about this command.

nodenvでローカルのバージョン管理をしよう

インストール手順

公式のインストール手順は以下

GitHub - nodenv/nodenv: Manage multiple NodeJS versions.
Manage multiple NodeJS versions. Contribute to nodenv/nodenv development by creating an account on GitHub.

1. GitHubからclone

$ git clone https://github.com/nodenv/nodenv.git ~/.nodenv
$ git clone https://github.com/nodenv/node-build.git ~/.nodenv/plugins/node-build

2. bash_profileへの設定

以下のコマンドでbash_profileへ各設定を記載

$ echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(nodenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

少し脱線しますがbash_profileとは?

→ bashにログインした際に読み込まれる設定ファイル。

bash_profileに何を設定したのかというと

まずはnodenvのPATHの追加(これでnodenvだけでコマンドが実行可能になる)

$ echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bash_profile

次にnodenv initコマンドが走るように設定

$ echo 'eval "$(nodenv init -)"' >> ~/.bash_profile

sourceコマンドで.bash_profileを実行

(おそらくターミナル再起動でもOK)

$ source ~/.bash_profile

対象のnodeのインストール

あとは希望nodeをインストール

インストール可能なnodeのバージョンを確認

$ nodenv install -l

今回は20.11.0をインストール

$ nodenv install 20.11.0

インストール完了したらローカルのバージョンを切り替え

localをつけているのでカレントディレクトリのみで適用される

システム全体に適用したい際はlocalをglobalに変えて実行

$ nodenv local 20.11.0

バージョンが切り替えられたか確認

$ node -v
v20.11.0

OK!これでvue3の勉強が再開出来る