如何让RStudio识别自行编译安装的R版本?
解决RStudio无法识别自定义编译安装R的问题
我之前折腾自定义编译R的时候也碰到过一模一样的问题:终端里敲R能正常启动,但RStudio死活找不到这个版本,而且只有当前bash会话没断的时候终端才能用R。试了几个方法都搞定了,分享给你:
方案1:手动给RStudio指定R路径
这是最直接的办法,RStudio本身支持手动选择R版本:
- 打开RStudio后,点顶部菜单栏的
Tools→Global Options→General - 在
R version那栏选Choose...,然后找到你编译安装的R的路径/opt/R/${R_VERSION}/bin/R - 确认后重启RStudio,应该就能正常用了
如果RStudio启动时直接报错找不到R,连设置界面都进不去,那就试试下面的方案。
方案2:让RStudio加载bash的环境变量
RStudio默认启动时可能不会加载bash的全局配置,导致它的PATH里没有你的R路径。可以让它启动前先加载bash环境:
- 先确保你的bash配置里已经加了R的路径:打开
~/.bashrc或者~/.bash_profile(看你系统用哪个),添加一行:
保存后执行export PATH="/opt/R/${R_VERSION}/bin:$PATH"source ~/.bashrc让配置生效。 - 然后修改RStudio的启动方式:
- 如果你用的是桌面版,找到RStudio的快捷方式,右键选
属性,把命令栏里的rstudio改成bash -i -c rstudio - 这样RStudio启动时会先以交互式bash加载所有环境变量,自然就能找到你的R了
- 如果你用的是桌面版,找到RStudio的快捷方式,右键选
方案3:通过系统配置文件指定R路径
如果是服务器版的RStudio(RStudio Server),可以直接修改它的配置文件:
- 编辑
/etc/rstudio/rserver.conf,添加一行:rsession-which-r=/opt/R/${R_VERSION}/bin/R - 重启RStudio服务:
sudo systemctl restart rstudio-server - 桌面版的话,可以创建
~/.Renviron文件,添加:
RStudio启动时会读取这个文件,自动定位到正确的R安装目录R_HOME=/opt/R/${R_VERSION}
验证配置是否生效
不管用哪个方案,都可以在RStudio的控制台里跑这个命令确认:
cat(R.home())
如果输出是你自定义的/opt/R/${R_VERSION},就说明搞定了!
内容的提问来源于stack exchange,提问作者Georg Heiler
相关产品推荐
相关产品推荐

