从本地修改的zip文件安装修改的包时出错

时间:2013-06-11 19:36:41

标签: windows r zip package

我在R包中发现了一个小错误。我与包作者沟通以更新代码。在等待作者操作修复错误的同时,我正在尝试修复我的本地版本的包。

我更改了R代码,还更新了相关文件的MD5。该包被重新压缩,我使用此命令来安装它:

install.packages("path/to/the/file/modified_package.zip", repos = NULL)

似乎安装进展顺利:

Installing package(s) into ‘C:/Users/Me/Documents/R/win-library/2.15’
(as ‘lib’ is unspecified)
package ‘x’ successfully unpacked and MD5 sums checked

但是,当我尝试加载包时,会出现错误:

> library(x)
Error in library(x) : ‘x’ is not a valid installed package

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

你不能只压缩目录;你需要重建包。

有很多关于如何构建R包的指南。最简单的方法(imho)是使用devtools包。

library(devtools)

build("path/to/the/package")
install.packages("path/to/built/package.tar.gz", repos = NULL, type = "source")

或者

build("path/to/the/package", binary = TRUE)
install.packages("path/to/built/package.zip", repos = NULL, type = "win.binary")

如果您运行的是Windows,还需要Rtools。使用installr包安装它。

library(installr)
install.Rtools()