VSCode构建任务命令未找到。

4

我在使用vscode进行工作,想要在tasks.json中构建chromium,但是构建shell报错“command not found”。我使用echo $PATH来查看tasks.json中的环境变量。似乎vscode中的构建shell没有执行“source ~/.bashrc”,所以找不到环境变量,但是vscode中的终端却可以正常工作。有人能帮助我吗?


жИСзЪДйїШиЃ§йЫЖжИРзїИзЂѓиЃЊзљЃеЄ¶жЬЙ-lпЉМдЊЛе¶В"path": "/usr/local/bin/bash", "args": ["-l"]пЉМж†єжНЃж≠§е§ДпЉМеЇФиѓ•еК†иљљжВ®зЪД.bashrcгАВдљ†иѓХињЗдЇЖеРЧпЉЯињШжШѓеЈ≤зїПиЃЊзљЃдЇЖпЉЯ - BadAtLaTeX
3个回答

5
我有相同的问题,并使用以下解决方案进行了修复。

适用于OSX ZSH的解决方案

/usr/local/bin/zsh-with-rc下添加一个新文件。

#!/usr/bin/env zsh

source ~/.zshrc

/bin/zsh $@

然后运行。
chmod +x /usr/local/bin/zsh-with-rc

settings.json中添加:
"terminal.integrated.automationProfile.osx": {
        "path": "/usr/local/bin/zsh-with-rc",
}

Linux的Bash解决方案

/usr/local/bin/bash-with-profile下添加一个新文件。

#!/usr/bin/env bash

source ~/.bash_profile
source ~/.bashrc

/bin/bash $@

然后运行。
chmod +x /usr/local/bin/bash-with-profile

settings.json中添加:
"terminal.integrated.automationProfile.linux": {
        "path": "/usr/local/bin/bash-with-profile",
}

1
使用ZSH的OSX解决方案对我非常有效,谢谢! - LiamM
这似乎让我的任务以无争论的方式运行。例如,"command": "echo hello"没有显示任何输出,但是如果没有这个设置,它会正确地打印出 'hello'。我使用的是带有Bash的Linux操作系统。 - Jespertheend

1

就像 @Narek 一样,我也不得不创建一个自动化配置文件。然而,Linux 版本是:

"terminal.integrated.automationShell.linux": "/usr/local/bin/zsh-with-rc",

这绝对是一个错误,因为对我来说,我的构建任务一直正常工作,突然间有些构建任务失败了,而其他的依然在工作(即使调用相同的命令)。这可能是由于最近的更新(1.79.2)导致的。 对我来说是catkin_make


0
在settings.json中添加"terminal.integrated.shell.linux": "/bin/bash"

我认为这不是一个适用于所有用户的解决方案。 - Dominique Paul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接