创build一个本地的R包仓库

我想创build一个本地的R包仓库,这样我公司的用户就可以从它那里安装软件包,系统pipe理员可以定期更新本地仓库。 访问CRAN镜像目前被拒绝。

有一个简单的方法来做到这一点?

感谢您的时间。

编辑:我很抱歉的疏忽。 指南是我应该先看的地方。 谢谢。

是的,无论是CRAN的副本还是本地软件包的回购都很容易build立。 大概你想要这个Windows的,所以这样做:

  1. 在您的networking服务器上创build一个顶级目录,比如说R/
  2. 在那里创build通常的层次结构: R/bin/windows/contrib/2.11 。 如果您需要支持其他(较早的)版本,只需在2.11目录旁边创build目录2.10 ,…。
  3. 将你需要的软件包放到目录中(比如2.11 ),然后进入该目录并运行以下命令为软件库生成PACKAGESPACKAGES.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的“微型”镜像,只需要你需要的包发行版,包括它们的依赖关系。