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

我在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 

有什么想法吗?

你不能只是压缩目录; 你需要重新编译这个包。

有很多关于如何构建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()