我在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
有什么想法吗?
答案 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()