【VSCode】SSH で zsh が見つからずエラーが出る時の対処法¶
Homebrew から Devbox の zsh へ移行した後、VSCode のターミナルと Remote-SSH 拡張で zsh が見つからずエラーになった。SHELLの上書きでは再発したため、最終的には Homebrew で zsh を再インストールして回避した。
状況¶
- Homebrew で zsh をインストールしていたが、Homebrew を辞めて Devbox でインストールした zsh を使うようになった
- VSCode のターミナルから ssh コマンドを実行した時と Remote-SSH 拡張を使ってリモートサーバに接続しようとした時にエラーが出る
- 実行すると Homebrew の zsh path が見つからないというエラーが出る
- Mac のターミナルから ssh コマンドを実行すると問題なく接続できた
- VSCode のターミナルで
$SHELLを確認すると Homebrew の zsh path が設定されている ~/.zshrcに$SHELLを上書きする設定をしても解決しない
SHELL の上書きでは一時的に解消¶
VSCode の設定で変数設定を上書きすることで解決した。 settings.jsonに次の設定を追加する。
再発と最終的な回避策¶
上記の方法で解決できたと思ったが、再発した。関連する issueが 2019 年に開かれており、2024 年末現在も解決されていない。エラー内容が brew の zsh path が見つからないというものであるため、brew で zsh をインストールして問題を解決した。
試した方法と結果をまとめると、次のようになる。
| 試した方法 | 結果 |
|---|---|
| Devbox でインストールした zsh を使う | エラーが出る |
settings.jsonでSHELLを上書き | 一時的に解決するが再発する |
| Homebrew で zsh を再インストール | 解決した |