visual-studio-code - “无法解析您的 shell 环境”
问题描述
在 macOS Big Sur 上,我安装了 MacPorts 并使用它安装了 bash。/opt/local/bin/bash
我通过使用将我的默认 shell 设置为 bash 的 MacPorts 版本chsh
。
一切都好。
我决定我宁愿使用 Homebrew。我卸载了 MacPorts,安装了 Homebrew,通过 homebrew 安装了 bash,并将我的默认 shell 设置为/opt/homebrew/bin/bash
via chsh
。
一切都很好,除了当我第一次启动 vscode(来自 Finder)时,它报告:
Unable to resolve your shell environment: A system error occurred (spawn /opt/local/bin/bash ENOENT)
这是一个完全合理的抱怨,因为该二进制文件不再存在。从 Finder 启动时会发出此投诉,但从终端启动时不会。在我的用户settings.json
文件中没有对这个先前版本的 bash 的引用,在我的.bashrc
.
vscode 到底是从哪里获得 bash 的呢?!
编辑(2021-10-11):这里发生了一些奇怪的事情。如果我在 vscode 中打开一个集成终端:
$ echo $SHELL
/opt/local/bin/bash
$ ls -lh $SHELL
ls: /opt/local/bin/bash: No such file or directory
$ ps -p $$
PID TTY TIME CMD
45388 ttys001 0:00.12 /bin/bash -l
(在常规的 macOS 终端应用程序中没有此类问题)
再次编辑(2021-10-12):
- 我尝试重置 vscode(通过
rm -rf ~/Library/Application\ Support/Code
)。 - 我尝试重置 vscode 的缓存(通过
rm -rf ~/Library/Caches/com.microsoft.*
), - 我下载了 iTerm2 并运行它;
/opt/homebrew/bin/bash
它毫无问题地加载了正确的外壳(
解决方案
推荐阅读
- perl - 从 PERL / AGI 中的数组中随机选择
- arrays - Postgres 中 varchar[] 的长度是指每个元素的最大长度,还是总长度?
- .net - 组合框下拉菜单不显示特殊字符
- android - 找不到构建工具修订版 29.0.0 - Android 构建
- java - 使用 Stream API 复制列表元素 N 次
- javascript - 是否可以让视频对滚动做出反应?
- python-3.x - 在最小化函数中嵌入最小化拟合,参数不变
- r - 面板数据的回归分位数的伪 R^2
- javascript - 如何划分数组?
- jmeter - 我如何为基于新插件的 Jmeter 代码做出贡献?