【发布时间】:2020-07-13 21:37:45
【问题描述】:
我有一个 R markdown 文件,希望在我的公司 Shiny 服务器上可用。
根据R Markdown: The Definitive Guide,我可以将runtime: shiny 添加到 Rmd 文件顶部的 YAML 元数据中,以将其转换为 Shiny 文档。我已经做到了,并且有效。如果我在 RStudio 中单击“运行文档”,它将运行 Rmd,我会看到没有问题的报告。
我的项目位于 ShinyApps 目录中,Shiny Server 正在该目录中寻找要服务的应用程序。当我点击这个项目的 URL 时,我得到了报告没有任何图表。我只是在图表应该在的地方得到损坏的图像图标。 (我使用的是 RStudio Server,因此它与 RStudio 和 Shiny Server 访问的文件完全相同)。
R 版本 3.4.3,闪亮服务器版本 1.5.6.875
更新:我用最简单的例子重现了这个行为。我创建了一个新的 RStudio 项目——只是一个简单的项目——名为TEST,位于我的 ShinyApps 目录中。然后我创建了一个新的 R Markdown 文件,我将其命名为 TEST.Rmd。该文件使用 cars 和 pressure 内置数据集预先填充了示例 RMarkdown。我更改了 YAML 标头以包含 runtime: shiny。正如预期的那样,RStudio“编织”按钮被“运行文档”按钮替换,单击它会运行文档并按预期工作。尝试通过 Shiny Server 查看页面时会遇到同样的问题,即不包含绘图;一个损坏的图像图标取而代之。
更新 2:根据要求,这里是 Markdown 文件。它实际上是 RStudio 生成的示例文件,在 YAML 标头中添加了runtime: shiny。
---
title: "Test RMarkdown"
author: "Michael Henry"
date: "4/6/2020"
output: html_document
runtime: shiny
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## R Markdown
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>.
When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
```{r cars}
summary(cars)
```
## Including Plots
You can also embed plots, for example:
```{r pressure, echo=FALSE}
plot(pressure)
```
Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot.
更新 3:所以我在服务器上四处寻找 Shiny Server 的日志文件。我没有任何管理员权限,所以我以前从未寻找过这个,但我找到了一个包含以下内容的日志文件:/lib64/libpango-1.0.so.0: undefined symbol: g_log_structured_standard。事实证明,RHEL 中有一个错误,它有一个可用的修复程序,所以我已经向我的管理员提出了应用修复程序的请求。我会在应用后报告它是否解决了我的问题。
更新 4:事实证明我的 RHEL 服务器是最新的;它已经有了修正建议的 glib2 版本。因此,我仍然收到此错误的事实是我的管理员将升级到 Red Hat。
更新 5:Red Hat 支持建议存在另一个 glib2 so 文件,结果证明是这种情况。删除此文件解决了问题!
【问题讨论】:
-
你能把 .RMD 文件粘贴过来,我看看文件中是否有错误。
标签: r shiny r-markdown rhel