我是Docker的新手,并且是TeX的用户。
我正在使用Dockerfile
FROM shrektan/shiny
MAINTAINER Steven
RUN R -e "install.packages(c('shiny', 'googleAuthR', 'dplyr', 'googleAnalyticsR', 'knitr', 'rmarkdown', 'jsonlite', 'scales', 'ggplot2', 'reshape2', 'Cairo'), repos = 'https://cran.rstudio.com/')"
COPY app /srv/shiny-server/
EXPOSE 3838
运行一个闪亮的应用程序,该应用程序允许用户运行/下载beamer_presentation
.pdf
报告。
有了上述Dockerfile,该应用程序运行良好,所有功能都存在,但是我收到一条错误消息,提示未安装beamer.cls
(我仅包括相关部分):
[...]
processing file: GA_report.Rmd
`geom_smooth()` using method = 'loess' and formula 'y ~ x'
`geom_smooth()` using method = 'loess' and formula 'y ~ x'
`geom_smooth()` using method = 'loess' and formula 'y ~ x'
`geom_smooth()` using method = 'loess' and formula 'y ~ x'
output file: GA_report.knit.md
tlmgr search --file --global '/beamer.cls'
tlmgr: Remote repository is newer than local (2017 < 2018)
Cross release updates are only supported with
update-tlmgr-latest(.sh/.exe) --update
Please see https://tug.org/texlive/upgrade.html for details.
Warning: running command ''tlmgr' search --file --global '/beamer.cls'' had
status 1
! LaTeX Error: File `beamer.cls' not found.
! Emergency stop.
<read *>
Warning: Error in : Failed to compile /tmp/RtmpmiHjqW/file185881070c.tex. See
file185881070c.log for more info.
[No stack trace available]
我迷失了试图确定如何将beamer.cls
安装到此Docker映像的方法。
上面的docker文件由映像built from this Dockerfile组成,该映像依次由rocker/verse Dockerfile here构建。
在rocker/verse
Dockerfile的顶部,作者明确声明他们正在使用“虚拟”版本的TexLive,并建议FAQ 8 here提供更多信息。 FAQ链接提供了有关如何安装软件包但不安装类(例如beamer.cls
)的示例。
尽管我是Docker的新手,但是我对如何将beamer.cls
安装到Docker映像上感到困惑。我觉得我提供的错误日志中有一些非常有用的东西,但是有人可以指出我所缺少的东西吗?
答案 0 :(得分:1)
原则上添加就足够了
RUN tlmgr install beamer translator
您的Dockerfile
。不幸的是,由于shrektan/shiny
映像已经有几个月没有更新,并且仍在使用TexLive 2017(和R 3.4.4),因此无法直接运行。同时,底层rocker/verse
iamge使用TL 2018和R 3.5.1。尽管有可能workaround出现“ TL to old”问题,但我建议您向维护者要求重建shrektan/shiny
,自己重建它或在您自己的{{1}中包括必要的部分}基于Dockerfile
。
答案 1 :(得分:1)
我是shrektan / shiny的作者。泊坞窗映像已存档,不再维护。该图片不包含LaTeX引擎,可能是您遇到问题的原因。
无论如何,您可以尝试使用rocker / verse或我的新映像shrektan / rdocker4shinyserver(类似于rocker / verse,但预先安装了更多软件包。Githubhttps://github.com/shrektan/rdocker)
此图像包括Tinytex,应该可以解决您的问题)。