Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有R包存储库管理工具?_R_Repository_Package_Cran - Fatal编程技术网

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

是否有R包存储库管理工具?,r,repository,package,cran,R,Repository,Package,Cran,我正在创建一个定制的R包存储库,并希望复制CRAN归档结构,从而将包的旧版本存储在src/contrib/archive/packageName/目录中。我想在devtools(源代码)中使用install\u version函数,但该函数依赖于具有类似于CRAN的归档结构,而不是在src/contrib/中具有所有包版本 是否有任何R软件包存储库管理工具可帮助创建此目录结构和其他相关任务(例如更新Archive.rds文件) 如果管理工具在存储库端处理包type逻辑,这样我就可以在Linux服

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

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


如果管理工具在存储库端处理包
type
逻辑,这样我就可以在Linux服务器上像在本地Mac上一样使用相同的
install.packages()
install\u version()
代码(即,我不必使用
type=“both”
type=“source”
在Mac上本地安装时)。

简短回答: 不是现成的

长答案: 有几种工具可以用来管理回购,但还没有一个连贯的现成生态系统

CRAN维护人员保留了一组脚本来管理CRAN存储库,但不清楚它们是如何协同工作的,也不清楚更新包索引、运行包检查或管理目录结构需要哪些部分

tools::write_PACKAGES
功能可用于更新包索引,但每次在存储库中添加、更新或删除包时都需要更新此功能

M.eik Michalke创建了
roxyPackage
,该软件包能够自动更新给定的存储库、安装存储库等。开发人员最近还通过
archive\u structure
功能添加了使归档结构模仿CRAN的功能。缺点是该包不在CRAN上,如果与
devtools
集成,可能会更好。它也是全新的,还没有准备好广泛使用


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

你可以在R-devel邮件列表中问这个问题(如果你还没有这样做),他们最了解这个问题。或者直接从CRAN的维护人员那里,比如Kurt,谢谢,我做到了。我很快会给你回复的。