创build一个本地的R包仓库
我想创build一个本地的R包仓库,这样我公司的用户就可以从它那里安装软件包,系统pipe理员可以定期更新本地仓库。 访问CRAN镜像目前被拒绝。
有一个简单的方法来做到这一点?
感谢您的时间。
编辑:我很抱歉的疏忽。 指南是我应该先看的地方。 谢谢。
是的,无论是CRAN的副本还是本地软件包的回购都很容易build立。 大概你想要这个Windows的,所以这样做:
- 在您的networking服务器上创build一个顶级目录,比如说
R/
- 在那里创build通常的层次结构:
R/bin/windows/contrib/2.11
。 如果您需要支持其他(较早的)版本,只需在2.11
目录旁边创build目录2.10
,…。 -
将你需要的软件包放到目录中(比如
2.11
),然后进入该目录并运行以下命令为软件库生成PACKAGES
和PACKAGES.gz
文件:tools::write_PACKAGES(".", type="win.binary")
这就是所有这一切 – 现在你可以通过指向给定一个命令如地址来访问版本库
update.packages(repos="http://my.local.server/R", ask=FALSE)
我甚至在R/zzz.R
为本地包做了更新。
编辑一些5年+之后 :现在drat包自动化了很多,特别是如果你使用GitHub通过http / https服务仓库(但对其他或本地托pipe也是有用的)。
阅读pipe理员指南的部分 。
miniCRAN软件包也为此提供了很好的function。 关键的优点是你不需要一个完整的镜像,但是可以设置一个CRAN的“微型”镜像,只需要你需要的包发行版,包括它们的依赖关系。