Eri*_*lts 16 r repository package cran
我正在创建一个自定义R包存储库,并希望复制CRAN存档结构,从而将旧版本的包存储在src/contrib/Archive/packageName/
目录中.我想install_version
在这里使用函数devtools
(source here),但该函数依赖于具有类似CRAN的归档结构而不是所有的软件包版本src/contrib/
.
是否有任何R包存储库管理工具可以帮助创建此目录结构和其他相关任务(例如更新Archive.rds文件)?
如果管理工具处理type
存储库端的包逻辑以便我可以在Linux服务器上使用与本地Mac上相同install.packages()
或install_version()
代码(也就是说我不必使用type="both"
或type="source"
在本地安装苹果电脑).
简短的回答: 并不是真正适合现成的使用。
长答案: 有几种工具可以用来管理他们的存储库,但还没有一个连贯的现成生态系统。
CRAN 维护者在这里保存了一组脚本来管理 CRAN 存储库,但尚不清楚它们如何协同工作,也不清楚需要哪些部分来更新包索引、运行包检查或管理目录结构。
该tools::write_PACKAGES
函数可用于更新包索引,但每次在存储库中添加、更新或删除包时都需要更新该索引。
M.eik Michalke 创建了这个roxyPackage
包,它能够自动更新给定的存储库、安装它等。开发人员最近还添加了使用该功能让存档结构模仿 CRAN 的功能archive_structure
。缺点是该软件包不在 CRAN 上,如果与devtools
. 它也是全新的,尚未准备好广泛使用。
最后,我创建了一个小型 Ruby脚本,用于监视给定的存储库并在任何文件发生更改时更新包索引。但是,这是为我的特定组织工作的,需要进行重构以供外部使用。如果有人对此感兴趣,我可以使它更普遍。