繁体   English   中英

R - 设置我自己的 CRAN 存储库

[英]R - setting up my own CRAN repository

我想建立一个本地 CRAN 存储库。 我只想在这个存储库中放一个 package (我们称之为 MyPackage )。 我这样做的原因是我想与我公司的人分享这个 package。 顺便说一句 - 我们都使用 Ubuntu Linux。 我已经这样做了:

  • 我有一个 web 服务器(BOA web 服务器)并制作了一个 web 文件夹,名为 ZE1E1D3D405731283E96EE。 制作文件夹 src 和 contrib。
  • 在 contrib 文件夹中,我放置了 package MyPackage (tar.gz) 和 PACKAGES 文件。

但是,当我这样做时:

install.packages("MyPackage", repos = "127.0.0.1/R" ) 

这没用;

Warning: unable to access index for repository [ ]
Warning message:
In getDependencies(pkgs, dependencies, available, lib) :
  package ‘MyPackage’ is not available (for R version 2.13.1)

你们能指导我一下,告诉我正确的文件夹结构是什么? 谢谢。

请参阅R Admin手册的“ 6.6节设置软件包存储库 ”。

编辑大约三年+之后 :我们现在有了自动创建存储库的drat包 ,并且可以巧妙地使用GitHub来为您托管它。

您可能只需要正确指定URL; http://127.0.0.1/R

此外,请确保您可以在浏览器中访问该URL。

miniCRAN对我有用 使用miniCRAN创建存储库几乎没有什么好处:

  • 安全性:许多R用户习惯于从CRAN或其一个镜像站点随意下载和安装新的R包。
  • 更容易离线安装:要将软件包安装到脱机服务器,还需要下载所有软件包依赖项,使用miniCRAN可以更轻松地以正确的格式获取所有依赖项。
  • 改进的版本管理:在多用户环境中,有充分的理由避免在服务器上不受限制地安装多个软件包版本。
  • 使用其他R包索引:您可能希望从CRAN以外的公共存储库中提供包,例如BioConductor,r-forge,OmegaHat等。
  • 准备自己的R仓库您可能希望将自定义内部包添加到您的存储库。

见介绍:

  1. 使用miniCRAN创建本地CRAN存储库
  2. 使用miniCRAN创建本地包存储库

我认为这个问题揭示了这个声明:“在我放入的 contrib 文件夹中...... PACKAGES 文件。”

PACKAGES 文件是存储库的索引。 在将 package 文件放入存储库目录后,您需要创建该文件。 不要从另一个存储库复制和粘贴 PACKAGES 文件。

如果我是你,这就是我会做的。 首先,将以下代码添加到本地存储库的 your.Rprofile 中:

utils::setRepositories(ind = 0, addURLs = c(WORK = "127.0.0.1/R"))

更改您的.Rprofile 后重新启动 R。

ind = 0表示您只想要本地存储库。 附加存储库可以包含在addURLs =选项中,并在字符向量中以逗号分隔。

然后,创建存储库索引:

tools::write_PACKAGES("127.0.0.1/R/src/contrib", verbose = TRUE) 

完成此操作后,您应该能够生成一个包含所有包列表的数据框。 例如, my_packages <- available.packages()

如果您在存储库数据框中看到包,则使用以下代码进行安装:

install.packages("MyPackage")

如需更多信息,请参阅此处。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM