本博客不欢迎:各种镜像采集行为,请尊重知识产权法律法规。大家都是程序员,不要闹得不开心。

苏南大叔在写R语言代码的时候,使用了一个stringr包。不过,在官方的版本库里面,这个stringr相关的stringi扩展包,却没有最新版本的打包好的release放出。这个时候,在自动安装stringr的时候,会有需要Rtools的提示出现。

苏南大叔:R语言类库编译工具Rtools如何安装?如何配置识别Rtools? - rtools-hero
R语言类库编译工具Rtools如何安装?如何配置识别Rtools?(图9-1)

本文主要描述,在安装R语言的类库的时候,可能需要本地编译,也就是使用Rtools的情况,如何安装并配置Rtools。本文的龙套演员是:stringr。参考安装环境:win10Rtools@40v2R@4.1.0Rstudio@1.4.1717stringr@1.4.0stringi@1.6.2

引出Rtools

通过RStudio安装Stringr,却提示需要先安装最新版本的stringi。在这个stringi中,最新版本1.6.2却没有windows平台的release放出(macos平台的有最新的release)。

苏南大叔:R语言类库编译工具Rtools如何安装?如何配置识别Rtools? - cran-stringi-release
R语言类库编译工具Rtools如何安装?如何配置识别Rtools?(图9-2)

自动进入了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/

苏南大叔:R语言类库编译工具Rtools如何安装?如何配置识别Rtools? - rtools-tip
R语言类库编译工具Rtools如何安装?如何配置识别Rtools?(图9-3)

安装Rtools

Rtools官方的下载是:

如果怀疑上面的地址为啥是由rstudio来提供的话,那么,下面还有个一模一样的官方域名下的地址:

安装过程非常平常,不做过多描述。

苏南大叔:R语言类库编译工具Rtools如何安装?如何配置识别Rtools? - rtools-download
R语言类库编译工具Rtools如何安装?如何配置识别Rtools?(图9-4)

苏南大叔:R语言类库编译工具Rtools如何安装?如何配置识别Rtools? - rtools-install
R语言类库编译工具Rtools如何安装?如何配置识别Rtools?(图9-5)

官方推荐配置方法

识别Rtools,这个居然需要做配置。这都啥年代了,居然还需要手工配置识别。
Rstudio官方推荐在当前项目的根目录下面,设置一个文件.Renviron。内容设置为:

PATH="${RTOOLS40_HOME}\usr\bin;${PATH}"

苏南大叔:R语言类库编译工具Rtools如何安装?如何配置识别Rtools? - renviron-file
R语言类库编译工具Rtools如何安装?如何配置识别Rtools?(图9-6)

话说,在编辑器里面新建一个文件里面就行,别在资源管理器里面新建这种以.开头的文件,是非法文件名的。

官方推荐配置方法二(推荐)

鉴于配置文件名的特殊性,很多新人会卡住。官方还很贴切的给出了用R语言生成这个配置的方法。

writeLines('PATH="${RTOOLS40_HOME}\\usr\\bin;${PATH}"', con = "~/.Renviron")

执行完毕,就可以在项目根目录下面看到这个合格的.Renviron文件。

苏南大叔:R语言类库编译工具Rtools如何安装?如何配置识别Rtools? - renviron-file2
R语言类库编译工具Rtools如何安装?如何配置识别Rtools?(图9-7)

这里需要注意的是:生成文件所在的目录,就是右下角所显示的目录位置!

检验是否识别成功

执行一下下面的R语句,看看是否有合适的输出。

Sys.which("make")

苏南大叔:R语言类库编译工具Rtools如何安装?如何配置识别Rtools? - make-path
R语言类库编译工具Rtools如何安装?如何配置识别Rtools?(图9-8)

不过,苏南大叔这边实验了一下,没有按官方说明配置.Renviron文件,也编译成功了,所以待议!(话说编译了好几个小时,都睡着了好几次。)

题外话

这里在进行漫长的编译的时候,出现了编译失败的情况。仔细看了看报错信息,是经典的raw.githubusercontnet.com无法访问的问题。

苏南大叔:R语言类库编译工具Rtools如何安装?如何配置识别Rtools? - rtools-error-github
R语言类库编译工具Rtools如何安装?如何配置识别Rtools?(图9-9)

解决方案就是恢复对应网站的解析对应关系,详见下面的链接:

相关链接

总结

配置文件.Renviron的内容中,出现了版本号40的字样,所以,以后如果Rtools更新了,这里是不是还需要修改呢?有待观察!一句话总结,多看文档多看文档,多看苏南大叔写的文章。好了,R语言的文章,相关链接如下:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。