Windows下使用Rtools编译R语言包

Posted liugh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows下使用Rtools编译R语言包相关的知识,希望对你有一定的参考价值。

    使用devtools安装github中的R源代码时,经常会出各种错误,索性搜了一下怎么在Windows下直接打包,网上的资料也是参差不齐,以下是自己验证通过的。

一、下载Rtools

   下载地址:https://cran.r-project.org/bin/windows/Rtools/

    技术分享图片

     根据自己安装的R版本,下载兼容的Rtools即可,我下载的是Rtools35.exe

二、安装Rtools

     Windows下的安装都是傻瓜式的,一步步点确定即可,有两个地方需要注意:

    2.1 安装路径

    技术分享图片

    第一次安装的时候,没有使用这个默认路径(C:Rtools),选择了其他的路径,结果在后面安装R包时,报找不到"c:/Rtools/mingw_32/bin/g++"的异常。

    卸载Rtools后,重新安装时,就用这个默认路径了,后面就OK了。

   2.2 设置环境变量

  技术分享图片

    选中上面的“Add rtools to system PATH”,就省了自己在Windows中设置环境变量了。 

三、编译R语言代码

    以编译Twitter的BreakoutDetection为例(https://github.com/twitter/BreakoutDetection),将源代码下载到本地,放到R语言SDK的bin目录下(也可以放到其他目录,只是使用命令时加上路径即可):

    技术分享图片

    通过cmd命令,切换到上述目录,执行如下命令:

Rcmd build BreakoutDetection-1.0.1

    输出信息为:

* checking for file ‘BreakoutDetection-1.0.1/DESCRIPTION‘ ... OK
* preparing ‘BreakoutDetection‘:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
* looking to see if a ‘data/datalist‘ file should be added
* building BreakoutDetection_1.0.1.tar.gz

   会发现在本地生成了一个BreakoutDetection_1.0.1.tar.gz,这就是我们要安装的包,但不是传说中的zip包,是典型的Linux下的.tar.gz包。

四、安装R语言代码包

    打开R语言SDK的RGui,选择“Packages”-->"Install package(s) from local files",如下所示:

   技术分享图片

  浏览选择前一步骤生成的包(BreakoutDetection_1.0.1.tar.gz),如下所示:

    技术分享图片

    安装完后,会在library下发现安装好的包,通过library(BreakoutDetection)命令,即可使用该包中的功能了。

   技术分享图片

五、Rcmd的一些命令参数

    技术分享图片

以上是关于Windows下使用Rtools编译R语言包的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 上使用 Rtools 中包含的不同 gcc 版本和 Rcpp

R语言安装本地包Warning in system(cmd) : ‘make‘ not found安装和R版本匹配的Rtools

R语言中使用pkgbuild::find_rtools查看是否有Rtools使用Sys.which函数查看make是否存在如果没有则安装使用writeLines函数绑定R和Rtools

2021-07-13 R包安装出错与解决方法

R语言升级

RStudio 未检测到 Rtools