我在 Pop!_OS 22.0.4 上运行 VSCode 1.87.2,内核版本 6.6.10-76060610-generic
已更新
许多命令(例如
sudo
、apt
、docker
)在 VS Code 的集成 shell 中不起作用。回复示例:bash: sudo: command not found
当我输入完整路径说
apt
时,我得到:
$ mmurphy@pop-os:~$ /usr/bin/apt
$ bash: /usr/bin/apt: No such file or directory
我最近重新安装了操作系统,除了 VS Code 和 Chrome 之外,我没有安装任何其他东西。
注意在我获得新硬件并安装 22.0.4 之前,我一直在使用 21,它是我的主要开发环境,所以我使用集成 shell 很长一段时间。
VSCode 中关于此问题的报告并不多,除了 issue 207117:“1.87.1 版本发布后,用户定义的 PATH 不再源自远程 ssh 会话”。
从您在聊天中共享的图像来看,很明显,当从 VSCode 外部的 shell 调用时,packer
可以正常工作,并且您已经通过显示
which packer
的 /usr/bin/packer
验证了其位置。该权限似乎也是正确的。首先测试.bashrc
、
.zshrc
或任何其他相关的启动脚本是否已正确获取(添加回显以跟踪其激活)。打开首选项 (
Preferences: Open Settings (JSON)
terminal.integrated.env.linux
和 terminal.integrated.shellArgs.linux
设置。可能有一些环境配置会覆盖默认行为。此外,禁用任何可能与终端环境交互的 VSCode 扩展,然后重新启动 VSCode 以查看问题是否仍然存在。
检查您的
Terminal: Select Default Profile
,并确保选择了正确的外壳配置文件(例如,
bash
或 zsh
)。在集成终端和独立终端中,运行env | sort
并比较输出,看看环境变量是否存在差异。
有时,强制 shell 作为 VSCode 中的登录 shell 运行可以确保所有启动文件的来源正确:修改 VSCode 中的terminal.integrated.shellArgs.linux
设置以包含
-l
(例如,["-l"]
表示 bash 或 zsh)。