rstan/brms采样时致R/RStudio会话终止,求解决方案
问题:rstan/brms启动采样时R会话崩溃
我遇到了和Stack Overflow某帖子高度相似的问题:每次rstan或brms启动采样,R就直接崩溃(会话终止)。已经按建议重新安装了rstan及其依赖,但问题依旧,求可行解决办法。
更新1:会话与包信息
─ Session info ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── setting value version R version 4.3.1 (2023-06-16) os macOS Ventura 13.4.1 system x86_64, darwin20 ui RStudio language (EN) collate en_US.UTF-8 ctype en_US.UTF-8 tz Europe/London date 2023-06-28 rstudio 2023.03.0+386 Cherry Blossom (desktop) pandoc 2.11 @ /Users/edoardogiuseppeostinelli/opt/anaconda3/bin/pandoc ─ Packages ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── package * version date (UTC) lib source cachem 1.0.8 2023-05-01 [1] CRAN (R 4.3.0) callr 3.7.3 2022-11-02 [1] CRAN (R 4.3.0) cli 3.6.1 2023-03-23 [1] CRAN (R 4.3.0) crayon 1.5.2 2022-09-29 [1] CRAN (R 4.3.0) devtools 2.4.5 2022-10-11 [1] CRAN (R 4.3.0) digest 0.6.32 2023-06-26 [1] CRAN (R 4.3.0) ellipsis 0.3.2 2021-04-29 [1] CRAN (R 4.3.0) fastmap 1.1.1 2023-02-24 [1] CRAN (R 4.3.0) fs 1.6.2 2023-04-25 [1] CRAN (R 4.3.0) glue 1.6.2 2022-02-24 [1] CRAN (R 4.3.0) htmltools 0.5.5 2023-03-23 [1] CRAN (R 4.3.0) htmlwidgets 1.6.2 2023-03-17 [1] CRAN (R 4.3.0) httpuv 1.6.11 2023-05-11 [1] CRAN (R 4.3.0) later 1.3.1 2023-05-02 [1] CRAN (R 4.3.0) lifecycle 1.0.3 2022-10-07 [1] CRAN (R 4.3.0) magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.3.0) memoise 2.0.1 2021-11-26 [1] CRAN (R 4.3.0) mime 0.12 2021-09-28 [1] CRAN (R 4.3.0) miniUI 0.1.1.1 2018-05-18 [1] CRAN (R 4.3.0) pkgbuild 1.4.2 2023-06-26 [1] CRAN (R 4.3.0) pkgload 1.3.2 2022-11-16 [1] CRAN (R 4.3.0) prettyunits 1.1.1 2020-01-24 [1] CRAN (R 4.3.0) processx 3.8.1 2023-04-18 [1] CRAN (R 4.3.0) profvis 0.3.8 2023-05-02 [1] CRAN (R 4.3.0) promises 1.2.0.1 2021-02-11 [1] CRAN (R 4.3.0) ps 1.7.5 2023-04-18 [1] CRAN (R 4.3.0) purrr 1.0.1 2023-01-10 [1] CRAN (R 4.3.0) R6 2.5.1 2021-08-19 [1] CRAN (R 4.3.0) Rcpp 1.0.10 2023-01-22 [1] CRAN (R 4.3.0) remotes 2.4.2 2021-11-30 [1] CRAN (R 4.3.0) rlang 1.1.1 2023-04-28 [1] CRAN (R 4.3.0) rstudioapi 0.14 2022-08-22 [1] CRAN (R 4.3.0) sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.3.0) shiny 1.7.4 2022-12-15 [1] CRAN (R 4.3.0) stringi 1.7.12 2023-01-11 [1] CRAN (R 4.3.0) stringr 1.5.0 2022-12-02 [1] CRAN (R 4.3.0) urlchecker 1.0.1 2021-11-30 [1] CRAN (R 4.3.0) usethis 2.2.1 2023-06-23 [1] CRAN (R 4.3.0) vctrs 0.6.3 2023-06-14 [1] CRAN (R 4.3.0) xtable 1.8-4 2019-04-21 [1] CRAN (R 4.3.0) [1] /Library/Frameworks/R.framework/Versions/4.3-x86_64/Resources/library
可行解决方案
1. 配置编译器环境
macOS下rstan崩溃多和编译器兼容性相关,先确保安装Xcode命令行工具:
xcode-select --install
创建或修改~/.R/Makevars文件,添加以下内容适配x86_64架构:
CXX14FLAGS=-O3 -march=native -mtune=native CXX14=g++
2. 禁用并行采样
并行采样可能触发架构或资源冲突,先尝试单线程运行:
- brms中设置:
brm(..., chains = 1, cores = 1)
- rstan中设置:
stan(..., chains = 1, cores = 1)
3. 降级Rcpp版本
当前Rcpp 1.0.10可能和rstan存在兼容问题,尝试降级到1.0.9:
install.packages("Rcpp", version = "1.0.9")
4. 清理编译缓存并重装rstan
旧缓存可能损坏,执行以下步骤清理后重装:
remove.packages("rstan") unlink("~/.R/Makevars", force = TRUE) unlink("~/.cache/R/stan/", recursive = TRUE) install.packages("rstan", dependencies = TRUE)
5. 规避Anaconda环境冲突
系统中存在Anaconda的pandoc,可能和R环境冲突,可尝试:
- 在纯R环境(不加载Anaconda)中运行
- 临时修改R的PATH优先使用系统工具:
Sys.setenv(PATH = paste("/usr/bin", Sys.getenv("PATH"), sep = ":"))
内容的提问来源于stack exchange,提问作者Raphus
相关产品推荐
相关产品推荐

