我正在运行 macOS Mojave 10.14.5 ,升级的bash ,如here所述,并且具有 TeXlive Docker容器(基本上that one),我想调用它来排版LaTeX文件。这确实很好用,并且在接下来的tasks.json
之后执行该命令也可以完美地完成最近的一些更新(由于我每天都没有使用此功能,所以我无法确定它的位置)。
tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "runit",
"group": {
"kind": "build",
"isDefault": true
},
"command": "docker",
"args": [
"run",
"-v",
"${fileDirname}:/doc/",
"-t",
"-i",
"mytexlive",
"pdflatex",
"${fileBasename}"
],
"problemMatcher": []
},
{
"type": "shell",
"label": "test",
"command": "echo",
"args": [
"run",
"-v",
"${fileDirname}:/doc/",
"-t",
"-i",
"mytexlive",
"pdflatex",
"${fileBasename}"
],
}
]
}
尝试运行docker会产生“找不到命令”:
> Executing task: docker run -v /path/to/file:/doc/ -t -i mytexlive pdflatex file_name.tex <
/usr/local/bin/bash: docker: command not found
The terminal process command '/usr/local/bin/bash -c 'docker run -v /path/to/file:/doc/ -t -i mytexlive pdflatex file_name.tex'' failed to launch (exit code: 127)
...尝试回显时,效果很好。
> Executing task: echo run -v /path/to/file:/doc/ -t -i mytexlive pdflatex file_name.tex <
run -v /path/to/file:/doc/ -t -i mytexlive pdflatex file_name.tex
尽管它曾经像上述一样工作,并且相同的命令在终端中也起作用,但是如果我将其作为构建任务执行,它现在将失败。因此,我的
如何在构建任务中使用
docker
?
或解决以上设置中的问题。
尝试以下操作会产生相同的“找不到命令”
{
"type": "shell", "label": "test",
"command": "which", "args": ["docker"]
}
...即使可行:
bash$ /usr/local/bin/bash -c 'which docker'
/usr/local/bin/docker
bash$ echo $PATH
/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
答案 0 :(得分:1)
因此,由于这里没有任何进展,我在GitHub上获得了帮助:我会回答自己,这样其他人带领这里寻求解决方案就不会失望。
请向{strong> joaomoreno发送his answer here
的所有致谢结果表明,通过上下文输入启动vscode时,环境变量存在一些问题。到目前为止,像这样开始解决该问题:
#!/bin/sh
VSCODE_FORCE_USER_ENV=1 /usr/local/bin/code -n "$1"