fishでnvm.fishを使ってNode.jsのバージョンを管理する方法
Gemini CLI を試そうとして nvm のインストールが必要になりましたが、普段使っている fish シェルからだと公式のインストール方法では上手くいかないので、fish シェルから使用する方法をまとめました。ちなみにこの記事も Gemini CLI に生成してもらって軽く手直しをして作りました。
nvm
(Node Version Manager) は、通常 bash
や zsh
などのシェル向けに作られており、そのままでは fish
シェルで動作しません。
この問題を解決するのが、fish
用のラッパープラグインである nvm.fish
です。ここでは、nvm.fish
を使って fish
環境で nvm
を利用する手順を解説します。
前提条件
-
fish
シェルがインストールされていること -
curl
またはwget
がインストールされていること
※ Web上の記事にはnvm本体を先にインストールしておくように書かれているものがありますが、少なくともfishシェルからnvm.fishだけを経由して使用するのであれば、nvm本体のインストールは不要です。
ステップ1: プラグインマネージャ fisher
のインストール
nvm.fish
のインストールには、fish
のプラグインマネージャである fisher
を使うのが最も簡単です。
fisher
が未インストールの場合は、以下のコマンドでインストールします。
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
ステップ2: nvm.fish
のインストール
fisher
を使って nvm.fish
をインストールします。
fisher install jorgebucaran/nvm.fish
ステップ3: nvm の使い方
これで fish
シェルで nvm
コマンドが使えるようになりました。基本的な使い方は通常の nvm
と似ています。1
Node.jsのインストール
最新のLTS (長期サポート)版をインストール
nvm install lts
特定のバージョンをインストール
nvm install 20.11.0
使用するNode.jsのバージョンを切り替える
nvm use lts
または
nvm use 20.11.0
インストール済みのバージョン一覧を表示
nvm ls
デフォルトのバージョンを設定
シェルを起動したときに自動的に使われるバージョンを設定します。nvm.fishではシェル変数 nvm_default_version
を参照するので、以下のようにユニバーサル変数を設定します。
set -U nvm_default_version lts
これで、新しいターミナルを開いたときに、指定したバージョンが自動的に有効になります。
以上で、fish
シェル上で nvm
を快適に利用する環境が整いました。
-
完全な互換ではないので詳しい使用方法は
nvm --help
を参照。 ↩