问题说明
今年给统计之都投稿或编辑了几篇大型的 R Markdown 格式的稿件,发现了一个问题,第一次使用 blogdown::serve_site()
渲染站点后,再修改一些文档内容,之后保存,等待再次渲染完成,然后预览窗口就死掉了,浏览器里也无法刷新,好像 Hugo 失联了。
复现过程
比如最近的一篇投稿文章地震越来越频繁了吗?,克隆仓库,切换到 quakes 分支,本地预览网站。下面是操作、复现问题的视频
这个问题,我尝试过一些探索
- 添加很多小节,运行正常,貌似与小节数量无关。
- 添加很多小节,每个小节下添加代码块,只要代码块执行得很快也没事。
- 但是遇到有图、有代码,而且还很多的情况下,就容易崩溃了。我猜测是因为执行时间有点长,比如几十秒、几分钟,图也很多,导致频繁刷新页面,最终与 Hugo 失联,网页崩溃。
如果不使用 RStudio IDE 网页一样会崩溃,录制的操作视频如下
抱歉,无法做更多简化,一旦简化就复现不了问题,而且在复杂 R Markdown 文档下,也不能 100% 稳定复现,但是10次操作,应该有 7-8 次崩溃。所以问题根源猜测是 blogdown / hugo / rmarkdown 这方面。
问题的影响
对于复杂的 R Markdown 文档,往往要经过很多次修改,经常崩溃会导致体验很差。
软件信息
> xfun::session_info(packages = c("blogdown", "rmarkdown"), dependencies = F)
R version 4.2.1 (2022-06-23)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Monterey 12.6, RStudio 2022.7.0.543
Locale: en_US.UTF-8 / en_US.UTF-8 / en_US.UTF-8 / C / en_US.UTF-8 / en_US.UTF-8
Package version:
blogdown_1.13 rmarkdown_2.16
Hugo version: 0.101.0
Pandoc version: 2.19.2
RStudio 2022.07.0-preview+543 "Spotted Wakerobin" Preview (e4a9a78e039439aee3b2edb54b22f8587e78704a, 2022-06-24) for macOS
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) RStudio/2022.07.0-preview+543 Chrome/102.0.5005.63 Electron/19.0.4 Safari/537.36
如果使用 RStudio IDE 最新的稳定版,也会停止响应,但是没有上面那么视频夸张,整个软件崩溃。