R 闪亮服务器:编译期间生成可下载PDF失败(代码在本地运行)
我正在远程Ubuntu 16.04 LTS平台上托管一个闪亮的应用程序(“alpha”)。上载本地运行时完全可运行的闪亮应用程序目录时,generate.pdf函数不起作用。具体而言,浏览器返回以下错误消息: Firefox在上找不到该文件 我首先怀疑这是一个用户权限问题,并授予“闪亮”用户(默认情况下在Ubuntu上运行应用程序)对/tmp/文件夹的读写执行访问权限,因为.pdf生成使用临时文件夹生成报告R 闪亮服务器:编译期间生成可下载PDF失败(代码在本地运行),r,ubuntu-16.04,r-markdown,knitr,shiny-server,R,Ubuntu 16.04,R Markdown,Knitr,Shiny Server,我正在远程Ubuntu 16.04 LTS平台上托管一个闪亮的应用程序(“alpha”)。上载本地运行时完全可运行的闪亮应用程序目录时,generate.pdf函数不起作用。具体而言,浏览器返回以下错误消息: Firefox在上找不到该文件 我首先怀疑这是一个用户权限问题,并授予“闪亮”用户(默认情况下在Ubuntu上运行应用程序)对/tmp/文件夹的读写执行访问权限,因为.pdf生成使用临时文件夹生成报告 sudo setfacl -m 'u:shiny:rwx' /tmp/ 不幸的是,问题
sudo setfacl -m 'u:shiny:rwx' /tmp/
不幸的是,问题依然存在。以下是我的软件包版本:
knitr "knitr" "/usr/local/lib/R/site-library" "1.20"
rmarkdown "rmarkdown" "/usr/local/lib/R/site-library" "1.10"
shiny "shiny" "/usr/local/lib/R/site-library" "1.1.0"
tinytex "tinytex" "/usr/local/lib/R/site-library" "0.8"
/opt/shiny-server/ext/pandoc/pandoc --version pandoc 1.19.2.1
Pandoc包是在安装Shiny Server时编译的,TinyTex包是通过以下方式安装的
以下是Shining Server生成的错误日志:
Listening on http://127.0.0.1:43458
165: ispresent
164: scatter3D
163: renderPlot [/srv/shiny-server/alpha/server.R#254]
161: func
121: drawPlot
107: <reactive:plotObj>
91: drawReactive
78: origRenderFunc
77: output$dist
1: runApp
processing file: report.Rmd
output file: report.knit.md
sh: 1: pdflatex: not found
Warning: Error in : Failed to compile /tmp/Rtmp25Y4aU/file5bf19f9dd9f.tex. [No stack trace available]
错误显示未找到
pdflatex
:
sh: 1: pdflatex: not found
在tinytex::tlmgr_conf()
的输出中,我们看到pdftex
安装在/root
中,即root
用户的主目录:
pdftex: /root/bin/pdftex
它看起来像是以root
user的身份执行tinytex::install\u tinytex()
。
运行闪亮服务器的shinny
用户无权访问该目录。您可以为用户添加TinyTeX安装,如下所示:
sudo su - shiny
R -e 'tinytex::install_tinytex()'
我不知道是否可以使用tinytex
进行系统范围的安装 错误消息很清楚,没有找到pdflatex。您是如何精确地安装TinyTeX的?第一次尝试:install.packages('TinyTeX')TinyTeX::install\u TinyTeX()安装验证通过:TinyTeX:::TinyTeX()[1]是否正确请您的问题包括TinyTeX::tlmgr\u conf()
的输出。另外:哪个用户运行了这些命令?哪个用户运行闪亮服务器?已添加日志。默认情况下,“闪亮”用户运行服务器@这太棒了。我认为tinytex是系统范围的(类似于通过install.packages()安装的标准R库)。非常感谢,祝你有一个愉快的一天!虽然我的代表不会给出答案,但投票结果是正确的。
pdftex: /root/bin/pdftex
sudo su - shiny
R -e 'tinytex::install_tinytex()'