已配置R及相关环境,安装rstan报错缺ps包,咨询GitHub安装方案
现有报错修复方案
报错根因:加载rstan时触发的processx依赖加载失败,核心是缺少间接依赖包ps,与rstan本体的安装流程无关。你之前通过CRAN安装的rstan二进制包已经完成解压和MD5校验,不存在安装损坏问题。
操作步骤:
- 手动补装缺失的
ps依赖包,在R控制台执行:install.packages("ps", repos = "https://cloud.r-project.org/", dependencies = TRUE) - 补装完成后,重新加载rstan验证:
library(rstan)
无报错后再执行之前的示例命令即可。 - 若补装
ps后仍出现processx加载异常,直接重装最新稳定版processx:install.packages("processx", repos = "https://cloud.r-project.org/") - 针对你系统盘存储空间不足、软件安装路径在D盘的情况,安装依赖包时可提前将临时文件路径指向D盘,避免缓存占用C盘空间:
Sys.setenv(TMPDIR = "D:/Rtmp")
执行上述命令后再运行包安装流程,可避免因C盘空间不足导致的安装失败。
从源码仓库安装rstan的正确流程
前置条件:你已经完成Rtools、系统环境变量、R版本的匹配配置,即可执行以下操作:
- 首先安装包管理工具
remotes,用于拉取源码版本的包:install.packages("remotes", repos = "https://cloud.r-project.org/") - 执行源码安装命令,拉取Stan团队维护的rstan正式版本,自动同步所有依赖项:
remotes::install_github("stan-dev/rstan", ref = "rstan-2.26.0", subdir = "rstan", dependencies = TRUE)
注:ref参数可根据需要切换为develop获取最新开发版,切换为对应版本标签可获取匹配的稳定版本 - 适配你自定义D盘安装路径的优化操作,避免安装失败:
- 先确认R的包存储路径指向D盘自定义目录,执行
.libPaths()查看输出的路径列表,若D盘的包库路径不在列表中,可手动添加。注意:rstan的编译流程对路径中的空格、中文字符兼容性较差,建议自定义的包库路径、临时文件路径不要包含空格和中文,比如设置为D:/R/win-library/4.0、D:/Rtmp,避免出现路径解析报错。 - 编译前设置多线程编译参数和临时文件路径,缩短安装时长、避免C盘空间不足问题:
Sys.setenv(TMPDIR = "D:/Rtmp", MAKEFLAGS = paste0("-j", parallel::detectCores()))
- 先确认R的包存储路径指向D盘自定义目录,执行
- 安装完成后,执行rstan的基础配置:
rstan::rstan_options(auto_write = TRUE)
再运行示例命令example(stan_model, package = "rstan", run.dontrun = TRUE)验证安装有效性。
内容的提问来源于stack exchange,提问作者Danny Huang
相关产品推荐
相关产品推荐

