R语言类库编译工具Rtools如何安装?如何配置识别Rtools?
发布于 作者:苏南大叔 来源:程序如此灵动~
苏南大叔在写R语言代码的时候,使用了一个stringr包。不过,在官方的版本库里面,这个stringr相关的stringi扩展包,却没有最新版本的打包好的release放出。这个时候,在自动安装stringr的时候,会有需要Rtools的提示出现。

本文主要描述,在安装R语言的类库的时候,可能需要本地编译,也就是使用Rtools的情况,如何安装并配置Rtools。本文的龙套演员是:stringr。参考安装环境:win10,Rtools@40v2,R@4.1.0,Rstudio@1.4.1717,stringr@1.4.0,stringi@1.6.2。
引出Rtools
通过RStudio安装Stringr,却提示需要先安装最新版本的stringi。在这个stringi中,最新版本1.6.2却没有windows平台的release放出(macos平台的有最新的release)。

自动进入了stringi@1.6.2的编译过程,然后,提示Rtools没有安装。提示信息如下:
> install.packages("stringr")
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:
https://cran.rstudio.com/bin/windows/Rtools/
安装Rtools
Rtools官方的下载是:
如果怀疑上面的地址为啥是由rstudio来提供的话,那么,下面还有个一模一样的官方域名下的地址:
安装过程非常平常,不做过多描述。


官方推荐配置方法
识别Rtools,这个居然需要做配置。这都啥年代了,居然还需要手工配置识别。Rstudio官方推荐在当前项目的根目录下面,设置一个文件.Renviron。内容设置为:
PATH="${RTOOLS40_HOME}\usr\bin;${PATH}"
官方推荐配置方法二(推荐)
鉴于配置文件名的特殊性,很多新人会卡住。官方还很贴切的给出了用R语言生成这个配置的方法。
writeLines('PATH="${RTOOLS40_HOME}\\usr\\bin;${PATH}"', con = "~/.Renviron")执行完毕,就可以在项目根目录下面看到这个合格的.Renviron文件。

这里需要注意的是:生成文件所在的目录,就是右下角所显示的目录位置!
检验是否识别成功
执行一下下面的R语句,看看是否有合适的输出。
Sys.which("make")
不过,苏南大叔这边实验了一下,没有按官方说明配置.Renviron文件,也编译成功了,所以待议!(话说编译了好几个小时,都睡着了好几次。)题外话
这里在进行漫长的编译的时候,出现了编译失败的情况。仔细看了看报错信息,是经典的raw.githubusercontnet.com无法访问的问题。

解决方案就是恢复对应网站的解析对应关系,详见下面的链接:
相关链接
- https://newsn.net/say/r-install.html
- https://newsn.net/say/r-error-base-package.html
- https://newsn.net/say/raw-githubusercontent-com.html
- https://newsn.net/say/cnpm-raw-github.html
总结
配置文件.Renviron的内容中,出现了版本号40的字样,所以,以后如果Rtools更新了,这里是不是还需要修改呢?有待观察!一句话总结,多看文档多看文档,多看苏南大叔写的文章。好了,R语言的文章,相关链接如下: