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