fish shellでnvmが使えなくなったときにしたこと


homebrewでinstallしたnvmが使えなくなった

状況

  • zshからfish shellに変えた
  • fish shellでbrewコマンドを使えるように設定
  • zsh使用時にインストールしたnvmはこの時点で使用できていた
  • ある日突然nvmが使えなくなった

環境

M1 MacBook Air

調査

  • nvmはfish shellに対応していない
  • fish shellに対応したサードパーティ製のものが存在する
  • zshで使用していたnvmを使用するにはbaseを使用する必要があるらしい
    • baseはshellでbashコマンドを使えるようにするユーティリティ

やったこと

調査結果からすでに使用しているnvmを使用するためにbassを導入することにした。

  • 以下を実行してbassを導入する
git clone https://github.com/edc/bass.git
cd bass
make install
  • ~/.config/fish/config.fishの末尾に以下を追加する
function nvm
   bass source (brew --prefix nvm)/nvm.sh --no-use ';' nvm $argv
end

set -x NVM_DIR ~/.nvm
nvm use default --silent
  • ターミナルを再起動するか、以下を実行して設定を反映させる
source ~/.config/fish/config.fish

参考