如果 Rmd 文件未更改,则页面不会呈现

Page not rendering if Rmd file not changed

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

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

如果 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))"

非常感谢支持

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

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

我只需要确保 runtime: shiny 在它自己的行上(不在 yaml header 中缩进)。

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