缺少乳胶包装时,tinytex无法写入目录

时间:2019-12-02 21:29:36

标签: r tinytex papaja

我正在Ubuntu 18.04.2 LTS服务器上运行RStudio(R版本3.6.0),并尝试使用{papaja}软件包编译pdf。我按照建议(sudo apt-get purge texlive-*)删除了预先捆绑的Tex发行版,并安装了{tinytex}

tinytex::tinytex_root()
# "/home/rstudio/.TinyTeX"

当我尝试编译为PDF时,出现一个错误,该错误开始于搜索tlmgr search --file --global '/apa6.cls'所需的文件papaja

  

尝试自动安装缺少的LaTeX软件包...

     

tlmgr安装apa6

     

您无权以任何方式更改安装,特别是目录/home/rstudio/.TinyTeX/tlpkg/不可写。

这个Github issue似乎是相关的,但如果是这样,我就不了解解决方案。

2 个答案:

答案 0 :(得分:1)

为了使它有价值,并使其可复制,使用texlive在Ubuntu 19.04上“奏效”:

edd@rob:/tmp$ Rscript -e 'rmarkdown::draft("test.Rmd", template="apa6", package="papaja", edit=FALSE)'
edd@rob:/tmp$ Rscript -e 'rmarkdown::render("test.Rmd")'
edd@rob:/tmp$ Rscript -e 'rmarkdown::render("test.Rmd")'   # twice for references

无需其他非发行版骇客。

答案 1 :(得分:1)

从帖子下方的注释中,您表明最初是通过以sudo R开头的R(然后是R,tinytex::install_tinytex())来安装TinyTeX的。结果,稍后当您以非root用户(在您的情况下为/home/rstudio/.TinyTeX)运行R时,安装目录rstudio将无法写入,这意味着 tinytex 无法自动为您安装缺少的LaTeX软件包(除非您更改.TinyTeX目录的所有权,这会使事情变得更加复杂)。

解决方案是在tinytex::install_tinytex()未启动的R进程中运行sudo(例如,可以在RStudio的R控制台中运行tinytex::install_tinytex())。