2

在我的rocker/rstudio衍生docker容器中,我陷入了围绕每年 TexLive 更新和Rpackage的泥潭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)在其中一个软件包安装中继续删除它的整个安装!?

4

1 回答 1

1

观察到的行为是tinytex R包中的一个错误,现已解决(https://github.com/yihui/tinytex/issues/197)。

CRAN-available 版本 >= 0.21.5 之前,可以通过以下方式直接从作者的存储库安装来纠正这种行为:

install.packages("remotes")
remotes::install_github("yihui/tinytex")
于 2020-04-17T10:45:41.287 回答