编译R Markdown时出现C stack usage接近上限错误如何解决
解决方案
1. 排除用户自定义配置干扰
- 先将用户目录下的
.Rprofile、.Renviron、.R/Makevars三个文件临时重命名备份,重启RStudio后再次尝试编译空白R Markdown文件。R Markdown编译时会默认加载用户全局配置,普通R脚本、Shiny运行时可能未触发配置中的异常逻辑。
2. 重装rmarkdown完整依赖链
- 在R控制台执行以下命令,完全卸载rmarkdown及相关依赖后重新从CRAN安装,避免包版本冲突导致的递归调用异常:
remove.packages(c("rmarkdown", "knitr", "yaml", "evaluate", "highr", "markdown", "stringr", "xfun", "htmltools")) install.packages("rmarkdown", repos = "https://cran.rstudio.com")
- 安装完成后不要加载其他第三方包,直接新建纯文本R Markdown文件测试编译。
3. 修改macOS全局栈限制
- macOS图形界面启动的程序继承的是launchd的资源限制,和终端ulimit配置不互通,所以你在终端修改的ulimit不会对RStudio生效。执行以下步骤修改全局栈限制:
- 打开系统终端,执行命令创建launchd配置文件:
sudo tee /Library/LaunchDaemons/limit.stack.plist <<EOF
内容的提问来源于stack exchange,提问作者geomicrobio
相关产品推荐
相关产品推荐

