使用devtools安装github中的R源代码时,经常会出各种错误,索性搜了一下怎么在Windows下直接打包,网上的资料也是参差不齐,以下是自己验证通过的。
一、下载Rtools
根据自己安装的R版本,下载兼容的Rtools即可,我下载的是Rtools35.exe
二、安装Rtools
Windows下的安装都是傻瓜式的,一步步点确定即可,有两个地方需要注意:
2.1 安装路径
第一次安装的时候,没有使用这个默认路径(C:\Rtools),选择了其他的路径,结果在后面安装R包时,报找不到"c:/Rtools/mingw_32/bin/g++"的异常。
卸载Rtools后,重新安装时,就用这个默认路径了,后面就OK了。
【注】也可能是后面安装的BreakOut在程序里硬编码Rtools路径了
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的一些命令参数