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的一些命令参数