【问题标题】:Page not rendering if Rmd file not changed如果 Rmd 文件未更改,则页面不呈现
【发布时间】:2019-12-27 22:11:15
【问题描述】:

我有一个使用 flexdashboard 创建的应用程序。我将我的 R 代码包含在不同的块中(以及闪亮和 flexdashboard 组件)。

如果我尝试运行我的应用程序(使用 rmarkdown::run 从批处理文件或直接从 Rstudio 运行,这并不重要)而不首先更改 Rmd 文件(只是多了一个空格),应用程序会加注星标,但块没有运行。 基本上只显示静态页面,我看到闪亮的服务器(在这种情况下是我的电脑)处于“监听”状态。 此时,我对按钮下拉列表所做的任何交互都不会影响应用程序。

如果 Rmd 文件是最新的,则似乎不会运行块。有没有办法强制执行?我不明白我做错了什么。

如果我对 rmd 进行虚假修改并保存它,那么所有的块都会被执行并且应用程序会完美运行....

我通过批处理文件使用以下代码运行我的应用程序:

"D:\Data\v101285\Programs\R\R-3.5.2\bin\i386\R.exe" -e "rmarkdown::run('D:/Data/v101285/Marco/09_R_Projects/02_InteractiveRiskViewer/InteractiveRiskViewer.Rmd', shiny_args = list(launch.browser = TRUE))"

非常感谢您的支持

编辑: 为了避免缓存问题,正如 cmets 中所建议的那样,我在每个卡盘中都包含了 cache=FALSE,但问题仍然存在。我注意到 Rmarkdown 会在“C:\Users.....\AppData\Local\Temp....\rmarkdown\”下为每次运行创建一个临时文件夹。如果我删除所有文件,则运行块并且应用程序可以运行。有没有办法避免这个临时文件?

【问题讨论】:

  • 你能详细说明你的问题吗?现在我不清楚问题是什么。通常,如果您修改代码,则必须终止该会话并重新启动它。
  • 我放大了我的问题描述。也许现在更清楚了。请如果仍然不清楚我尝试包含代码和屏幕截图。非常感谢!!
  • 感谢您更详细地描述问题。我想我了解问题所在,但我没有解决方案,抱歉。您是否尝试过将 Rstudio 更新为 daily build
  • 我正在使用最新版本的 Rstudio,它与 R 32bit 兼容,因为我们公司 DB 的 oracle 驱动程序是 32bit。但如果问题是 Rstudio,那么应用程序至少应该以批处理方式运行。我不知道如何强制执行块。您如何运行您的应用程序?
  • 会发生缓存吗?

标签: r shiny r-markdown flexdashboard


【解决方案1】:

我遇到了类似的问题,我找到了解决方案: https://github.com/rstudio/flexdashboard/issues/108

我只需要确保 runtime: shiny 单独一行(不在 yaml 标头中缩进)。

title: "Dynamic UI Test"
runtime: shiny
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill

【讨论】:

  • 非常感谢,太好了!!它似乎工作!我最初将它包含在“flexdashboard::flex_dashboard:”部分下。
猜你喜欢
  • 2020-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-09
  • 1970-01-01
  • 1970-01-01
  • 2020-08-12
相关资源
最近更新 更多