▪️

Node.jsのバージョン切り替えを1コマンドにした

に公開

記事の内容

リポジトリごとにNode.jsのバージョンが違うと、毎回 nvm use 18 などと打つのが面倒。
リポジトリ名のaliasでサクッと切り替えられるようにしました。

記事を読むと得られるもの

  • Node.js バージョンの切り替えを 1 コマンドに短縮する方法
  • リポジトリ名で直感的に切り替える zsh alias の書き方

従来の面倒な作業フロー

リポジトリごとに Node.js のバージョンが違うと、毎回こんな手順を踏んでいませんか?

  1. 今の Node バージョンを確認する
  2. このリポジトリで使うバージョンを思い出す(思い出せない)
  3. nvm ls でインストール済みバージョン一覧を確認
  4. やっと nvm use 18 を実行
  5. 本当に切り替わったか node -v で確認
node -v              # 今のバージョン確認
nvm ls               # 何が入ってるっけ?
nvm use 18           # あ、このリポジトリは18だった
node -v              # ちゃんと切り替わった?

これを毎回やるのは正直しんどい。

解決策:プロジェクト名の alias で一発化

ステップ 1: .zshrc ファイルを開く

ターミナルで以下を実行して、.zshrcファイルを開きます。

open ~/.zshrc

vim や nano を使う場合:

vim ~/.zshrc

ステップ 2: alias を追加

ファイルの最後に以下を追加します。
リポジトリ名とバージョンは自分の環境に合わせて変更してください。

# リポジトリ別 Node切り替え
alias node-myapp='nvm use 20.18.0 && node -v'
alias node-portfolio='nvm use 18.20.5 && node -v'
alias node-legacy='nvm use 16.20.2 && node -v'

ステップ 3: 変更を反映

ターミナルで以下を実行して、設定を反映させます。

source ~/.zshrc

または、ターミナルを再起動しても OK です。

使い方

以下のように、プロジェクト名を打つだけ:

node-myapp

これだけで Node.js v20.18.0 に切り替わり、バージョンも表示されます:

Now using node v20.18.0 (npm v10.2.3)
v20.18.0

まとめ

  • node-プロジェクト名 で瞬時にバージョン切り替え
  • 「どのプロジェクトがどのバージョンだっけ?」と迷わない

ぜひ試してみてください!

注意点

  • 使いたいバージョンは事前に nvm install 20.18.0 などでインストールが必要です
  • nvm が未インストールの場合は先に nvm をインストールしてください
  • プロジェクトが増えたら、alias も追加していきましょう

Discussion