是否有任何R包存储库管理工具?

时间:2012-08-27 17:49:44

标签: r repository package cran

我正在创建一个自定义R包存储库,并希望复制CRAN存档结构,从而将旧版本的包存储在src/contrib/Archive/packageName/目录中。我想在install_version(源here)中使用devtools函数,但该函数依赖于具有类似CRAN的归档结构,而不是src/contrib/中的所有包版本1}}。

是否有任何R软件包存储库管理工具可以帮助创建此目录结构和其他相关任务(例如更新Archive.rds文件)?

如果管理工具处理存储库端的包type逻辑,那么我也可以使用Linux服务器上的相同install.packages()install_version()代码。我的本地Mac(即在Mac上本地安装时我不必使用type="both"type="source"

1 个答案:

答案 0 :(得分:4)

简答: 不是真正的现成用途。

答案很长: 有一些工具可以用来管理他们的回购,但是还没有一个连贯的现成生态系统。

CRAN维护者保留了一大堆脚本here来管理CRAN存储库,但目前还不清楚它们如何协同工作或更新包索引,运行包检查或管理目录结构所需的部分

tools::write_PACKAGES函数可用于更新包索引,但每次从存储库添加,更新或删除包时都需要更新。

M.eik Michalke创建了roxyPackage package,它能够自动更新给定的存储库,安装它等。开发人员最近还添加了拥有存档结构的功能。使用archive_structure函数模仿CRAN的模式。缺点是软件包不在CRAN上,如果与devtools集成,可能会更好。它也是全新的,尚未准备好广泛使用。

最后,我创建了一个小的Ruby script,它可以监视给定的存储库并在任何文件发生更改时更新包索引。但是,这适用于我的特定组织,需要重构以供外部使用。如果有人对它感兴趣,我可以使它更通用。