RStudio运行Rmd文件代码块时R会话中止,报readRDS错误如何解决?
解决RStudio中Rmd文件触发
readRDS错误并中止会话的问题 清理RStudio缓存文件
RStudio会为Rmd项目生成缓存数据,缓存损坏是这类问题的常见原因。找到项目根目录下的.Rproj.user文件夹,直接删除它(重启后会自动重建),然后重启RStudio重新打开Rmd文件测试。如果是全局缓存问题,可删除~/.rstudio/(Mac/Linux)或C:\Users\<你的用户名>\AppData\Roaming\RStudio\(Windows)下的缓存文件。升级相关软件和包
版本兼容性问题也可能导致该错误:- 升级R到最新稳定版本
- 升级RStudio至官方最新版
- 在R控制台执行
update.packages(c("rmarkdown", "knitr", "rstudioapi")),更新Rmd相关依赖包
排查Rmd文件的缓存配置与内容
- 检查Rmd开头的YAML头部,若有
cache: TRUE这类缓存设置,暂时注释掉再测试 - 确认代码中是否有调用
readRDS加载自定义文件的逻辑,检查对应RDS文件是否损坏,尝试重新生成该文件
- 检查Rmd开头的YAML头部,若有
重置RStudio全局设置
若以上方法无效,可重置RStudio:- 完全关闭RStudio
- 删除系统中的RStudio配置目录(Mac/Linux为
~/.rstudio/,Windows为C:\Users\<你的用户名>\AppData\Roaming\RStudio\) - 重启RStudio,重新打开Rmd文件
测试空白Rmd文件定位问题
新建一个空白Rmd文件,仅保留默认示例代码,运行代码块。如果正常,说明原Rmd文件存在异常(如隐藏损坏字符、错误的代码块配置),可逐步迁移原文件内容到新文件中,定位具体问题点。
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

