英文:
VScode integrated terminal suddenly throws an error during initialization
问题
在Ubuntu 22.10上,我使用最新的VScode,在集成终端中打开ZSH和BASH shell时遇到以下问题。标准的Ubuntu终端可以正常工作。
在启动ZSH集成终端后:
compdump:138: 找不到命令: mv
/home/user/.oh-my-zsh/oh-my-zsh.sh:56: 找不到命令: mkdir
/home/user/.oh-my-zsh/tools/check_for_upgrade.sh:29: 找不到命令: git
/home/user/.oh-my-zsh/oh-my-zsh.sh:115: 找不到命令: rm
getent:6: 找不到命令: grep
_p9k_init_cacheable:59: 找不到命令: uname
_p9k_init_cacheable:61: 找不到命令: uname
BASH
命令'uname'可在以下位置找到
* /bin/uname
* /usr/bin/uname
由于没有将'/bin:/usr/bin'包含在PATH环境变量中,找不到该命令。
uname: 找不到命令
就在几小时之前,它还可以正常工作。然后我尝试设置远程SSH连接到另一台Linux机器(Fedora 36),但遇到了相同类型的错误,我无法通过搜索解决。
在设置中使用@modified关键字,我确保没有发生意外的更改。PATH与完全可操作的标准终端中的相同。
想知道可能出现了什么问题。
更新。
PATH变量:
/usr/local/cuda-11.7/bin:/home/user/.conda/envs/env/bin:$PATH
问题。
与标准终端中的完整PATH扩展不同,在集成终端中,PATH只扩展了一部分(省略了/usr/bin等)。
英文:
I'm using the most recent VScode on Ubuntu 22.10 and experiencing the following issues while opening ZSH and BASH shells in the integrated terminal. The standard Ubuntu terminal works without errors.
After starting a ZSH integrated terminal:
compdump:138: command not found: mv
/home/user/.oh-my-zsh/oh-my-zsh.sh:56: command not found: mkdir
/home/user/.oh-my-zsh/tools/check_for_upgrade.sh:29: command not found: git
/home/user/.oh-my-zsh/oh-my-zsh.sh:115: command not found: rm
getent:6: command not found: grep
_p9k_init_cacheable:59: command not found: uname
_p9k_init_cacheable:61: command not found: uname
BASH
Command 'uname' is available in the following places
* /bin/uname
* /usr/bin/uname
The command could not be located because '/bin:/usr/bin' is not included in the PATH environment variable.
uname: command not found
Just several hours before, it worked just fine. Then I tried to set up Remote SSH to another Linux machine (Fedora 36, with the same sort of errors I was also unable to resolve by googling).
Using the @modified keyword in Settings, I ensured that no unexpected changes had been made. The PATH is the same as in the fully operational standard terminal.
Wondering what could be the issue.
UPDATES.
PATH variable:
/usr/local/cuda-11.7/bin:/home/user/.conda/envs/env/bin:$PATH
The problem.
Unlike the complete PATH expansion in the standard terminal, PATH was expanded partially (omitting /usr/bin, etc.) in the integrated terminal.
答案1
得分: 1
基于这个错误,
The command could not be located because '/bin:/usr/bin' is not included in the PATH environment variable.
我建议你运行,
export PATH="/usr/bin:$PATH"
将 /bin:/usr/bin
添加到你的 PATH
中
在你的 PATH
中使用 :$PATH
意味着 shell 会将变量 $PATH
添加到你的 PATH
的末尾。
英文:
Based on this error,
The command could not be located because '/bin:/usr/bin' is not included in the PATH environment variable.
I suggest you run,
export PATH="/usr/bin:$PATH"
To add /bin:/usr/bin
to your PATH
Having :$PATH
in your PATH
means that the sheell will add the variable $PATH
to the end of your PATH
答案2
得分: 0
问题的原因是用户设置中的以下配置:
terminal.integrated.env.linux": {
"PYTHONPATH": "/media/user:/media/user/common:$PYTHONPATH",
"PATH": "/media/user:/media/user/common:$PATH"
}
虽然终端中的PYTHONPATH变量被正确扩展,但PATH仅被部分扩展为问题的"UPDATES"部分中显示的内容。根据@Orion447的答案,寻找PATH可能会受损的潜在位置是可能解决问题的方法之一。
英文:
The cause of the issue the following configuration from the User settings:
terminal.integrated.env.linux": {
"PYTHONPATH": "/media/user:/media/user/common:$PYTHONPATH",
"PATH": "/media/user:/media/user/common:$PATH"
}
While the PYTHONPATH variable is expanded properly in the integrated terminal, the PATH is expanded partially to something shown in the UPDATES section of the question. To build on top of the answer by @Orion447, looking for any potential place where PATH could get corrupted is the approach that likely solves the problem.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论