如何配置RStudio使用RTools构建R包 解决RTools已装仍提示缺编译工具问题
Rstudio构建R包时无限提示安装构建工具问题
我知道大家首先会说这个问题早已有解,Stack Overflow上有无数相关帖子。我很确定我之前就尝试过搜索相关问题了。
我已经尝试过以下方案:
- Rtools官方教程,顺利走完了该教程的所有步骤且全部通过验证,但当我依次点击文件 > 新项目 > 新目录 > 新R包,尝试构建这个模板项目时,就会陷入无限弹窗循环:“构建R包需要安装额外的构建工具,你是否要现在安装额外工具?”
- 社区常见解决方案:运行
devtools::find_rtools()返回TRUE,重装了Rcpp包,但设备上没有识别到C编译器:Sys.which("ls.exe") # 返回了对应路径 Sys.which("gcc.exe") # 未返回任何路径 - 将
c:\Rtools\mingw_64\bin添加到系统路径中,问题依然存在 - 运行
install::install.Rtools()返回无需安装Rtools
其他排查命令的运行结果如下:
Sys.which("make.exe") "C:\\rtools40\\usr\\bin\\make.exe"
tools::Rcmd(c('config', 'CXX11')) # 返回找不到指定路径
补充说明:我要构建的包里只有以下一个纯R函数,没有任何C语言代码:
hello <- function(){ print('hello world') }
我至今没找到可行的解决方案,找不到解决办法的话我就没法构建R包。
解决方案
按以下步骤操作即可解决该问题:
- 先确认R和Rtools版本匹配:R4.0.x对应Rtools40,R4.2.x对应Rtools42,R4.3.x及以上对应Rtools43,版本不匹配会直接导致gcc路径识别失败。
- 手动配置R的环境变量:
打开Rstudio,运行以下命令打开用户级环境配置文件:
在打开的文件末尾添加对应版本的路径配置,示例如下,注意替换为你实际的Rtools安装路径:file.edit("~/.Renviron")# Rtools40 配置 PATH="${RTOOLS40_HOME}\usr\bin;${RTOOLS40_HOME}\mingw64\bin;${PATH}" - 保存配置文件后,完全关闭Rstudio再重新启动,运行
Sys.which("gcc.exe")验证,正常会返回gcc的对应路径。 - 如果依然弹出安装构建工具的提示,打开Rstudio全局选项,找到「构建工具」标签,手动选择Rtools的安装目录即可。
内容的提问来源于stack exchange,提问作者Harlan Nelson
相关产品推荐
相关产品推荐

