【发布时间】:2019-06-11 21:39:25
【问题描述】:
现状与问题
我正在运行 macOS Mojave 10.14.5,升级的 bash 就像描述的 here 一样,并且有一个 TeXlive docker 容器(基本上是 @987654322 @),我想调用它来排版 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
编辑:还有一点说明:
我正在使用上下文条目来启动 vscode,该脚本使用运行以下 bash 命令并将元素“右键单击”作为变量传递的 automator 脚本:
#!/bin/sh
/usr/local/bin/code -n "$1"
【问题讨论】:
-
它再次起作用了。使用相同的设置;什么也没有变。我现在怎么处理这个问题?这似乎是一个合理的帖子,但问题的原因很可能是一个错误(我无法重现)?
-
同样的事情又发生了!看起来,什么都没有改变。如果我运行构建任务,就不再这样做了(但如果粘贴到终端中,该命令可以工作)。我试图关闭所有内容并重新启动,然后瞧 - 工作。我所做的只是安装一个扩展/插件。
-
再一次。发现this issue on github 说它已修复。看来我必须在那里开始一个新线程。
标签: docker visual-studio-code vscode-tasks