🎣

M1 Macでfishをデフォルトシェルにするときはパスに気をつけよう

2021/08/28に公開

要約

HomebrewでApple Siliconに対応したパッケージをインストールした際は、/opt/homebrew/bin/配下に実行コマンドが存在する

$ which fish
/opt/homebrew/bin/fish

そのため、M1 Macでfishをデフォルトシェルにしたい場合は、以下の通りにコマンドを実行する

echo /opt/homebrew/bin/fish | sudo tee -a /etc/shells
chsh -s /opt/homebrew/bin/fish

詳細

M1 MacでHomebrewをインストールしたときに、途中でHomebrewのパスが無いと警告される

Warning: /opt/homebrew/bin is not in your PATH.

brew install hogeをした時に、Apple Siliconに対応したパッケージは自動的に/opt/homebrew/bin/配下にインストールされる

そのため、いつも通りfishをデフォルトシェルに変更しても上手く動かない

echo /usr/local/bin/fish | sudo tee -a /etc/shells
chsh -s /usr/local/bin/fish

(新しくターミナルを開くと、パスが見つからないと言われる)

login: /usr/local/bin/fish: No such file or directory

[プロセスが完了しました]

fishのパスは/usr/local/bin/fishではなく/opt/homebrew/bin/fishにインストールされているので、正しいパスをデフォルトシェルに指定すると上手く動く

echo /opt/homebrew/bin/fish | sudo tee -a /etc/shells
chsh -s /opt/homebrew/bin/fish

(新しくターミナルを開くと、fishが実行される)

Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
⋊> ~ 

その他

デフォルトシェルを変更して、そもそもターミナルでコマンドを実行できなくなってしまった場合

  1. ターミナルを右クリックして、「新規コマンド…」をクリック

  2. zshを実行する

参考など

Discussion