在我的rocker/rstudio
派生的docker
容器中,我陷入了围绕每年TexLive更新和R
包tinytex
的泥潭。
我已经经历了tinytex::install_tinytex()
、tinytex::uninstall_tinytex()
、tinytex::reinstall()
等的大量迭代。
我已经通过remotes::install_github("yiuhi/tinytex")
安装了最新版本。
我对CTAN
的不同(最新(镜像进行了实验。
当使用最新的镜像并正确使用installed
/reinstalled
tinytex
时,我会一直得到这种行为:
> tinytex::tinytex_root()
[1] "/home/rstudio/.TinyTeX"
> tinytex::pdflatex("<MYFILE>.tex")
tlmgr: package repository http://vesta.informatik.rwth-aachen.de/ftp/pub/mirror/ctan/systems/texlive/tlnet (verified)
[1/1, ??:??/??:??] install: koma-script [13745k]
running mktexlsr ...
done running mktexlsr.
tlmgr: package log updated: /home/rstudio/.TinyTeX/texmf-var/web2c/tlmgr.log
还有6个成功的软件包安装。。。
tlmgr: package repository http://vesta.informatik.rwth-aachen.de/ftp/pub/mirror/ctan/systems/texlive/tlnet (verified)
[1/1, ??:??/??:??] install: babel-english [3k]
running mktexlsr ...
done running mktexlsr.
tlmgr: package log updated: /home/rstudio/.TinyTeX/texmf-var/web2c/tlmgr.log
! LaTeX Error: This NFSS system isn't set up properly.
! sh: 1: pdflatex: not found
Error: LaTeX failed to compile <MYFILE>.tex. See https://yihui.org/tinytex/r/#debugging for debugging tips. See <MYFILE>.log for more info.
In addition: Warning messages:
1: In system2(..., stdout = if (use_file_stdout()) f1 else FALSE, stderr = f2) :
error in running command
2: In system2("tlmgr", args, ...) : error in running command
> tinytex::tinytex_root()
[1] ""
在这之后,~/.TinyTeX
(以前存在(就从文件系统中消失了!?
有人能解释为什么1(tinytex
似乎安装了,2(它似乎正确处理了我的*.tex
文件,并从CTAN
中提取了适当的程序包,3(继续安装其中一个程序包,删除了它自己的整个安装!?
观察到的行为是tinytex
R
包中的一个错误,现已得到解决(https://github.com/yihui/tinytex/issues/197)。
在CRAN
可用版本>=0.21.5之前,可以通过以下方式直接从作者的存储库安装来纠正这种行为:
install.packages("remotes")
remotes::install_github("yihui/tinytex")