VSCodeのLaTeX Workshopでコンパイルできない
環境
症状
.texファイルをコンパイルしようとすると,VSCodeの左下に赤く×と表示されてコンパイルされない
LaTeX Workshopのログには実行パスが存在しないみたいなエラーが吐かれている.
[14:17:08] LaTeX build process spawned. PID: undefined. [14:17:08] LaTeX fatal error: spawn ptex2pdf ENOENT, . PID: undefined. [14:17:08] Does the executable exist? PATH: /usr/bin:/bin:/usr/sbin:/sbin [14:17:10] LOG command invoked.
platexのコマンドパスを調べてみた.
$ which platex
/usr/local/bin/platex
/usr/local/binがPATHにないからエラーが出ているみたい.
$ echo $PATH | tr " " \n | grep /usr/local/bin /usr/local/bin
でもシェル変数のPATHには/usr/local/binがある.
???
解決策
同じようなエラーで何度もissueが立てられているみたいだった.まとめると,
- VSCodeをDockから起動したとき,シェルで設定されている$PATHをインクルードしないのは仕様
- したがって,使用しているシェルに依存する問題ではなく,あらゆるシェルで発生する問題
- シェルからVSCodeを起動することによって$PATHもインクルードでき,エラーはでなくなる(シェルからVSCodeを起動できるようにするには設定の必要あり)
$ cd path/to/tex/dir
$ code .
Dockから起動させても同じように/usr/local/binをパスとして含めさせたいなら,LaTeXレシピのenvプロパティで実行パスの追加ができるみたい.