2012-08-13 74 views
7

我想建立一个本地的CRAN仓库。我想在这个仓库中只放一个包(我们称之为MyPackage)。我这样做的原因是我想和我公司的人分享这个软件包。顺便说一句 - 我们都使用Ubuntu Linux。 我已经做到了这一点:R - 建立我自己的CRAN仓库

  • 我有一个Web服务器(BOA Web服务器),并提出所谓R.制造文件夹src和contrib请Web文件夹。
  • 在contrib文件夹中,我把我的包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) 

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

+0

的在线储存库包含'built' R封装。你需要'build'这个包(它会创建一个'.tar.gz'文件,看一下在线仓库的目录结构。[CSIRO melbourne](http://cran.csiro.au/src/contrib/) )。 – mnel 2012-08-13 01:51:20

+2

如果你不介意的包公职你总是可以对其进行托管在GitHub上,并使用功能'install_github'从devtools包来完成安装,这是很容易做到的,需要较少的工作进行修改, 。包 – Dason 2012-08-13 02:20:51

+0

相反,你可以使用的操作非常相似,有点桶到位桶'install'从devtools具有类似达诚的建议功能,但安装本地回购下面是关于如何做到这一点YouTube的:。http://www.youtube .com/watch?v = jGeCCxdZsDQ,但是这种方式不仅仅是你的问题,从6点10分开始对你有所帮助 – 2012-08-13 02:25:55

回答

5

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

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

+0

谢谢!这节省了我的一天! – MadSeb 2012-08-20 17:58:26

0

miniCRAN适合我。有几个优势,利用miniCRAN创建存储库:

  • 安全:很多[R用户已经习惯了下载和随意安装新的R包,CRAN从或其镜像站点之一。
  • 更容易离线安装:要安装包到脱机服务器要求您也可以下载所有软件包的依赖关系,使用miniCRAN使得它更容易得到所有依赖于正确的格式。
  • 改进的版本管理:在多用户环境中,有充分的理由避免在服务器上无限制地安装多个软件包版本。
  • 使用其他R包装索引:您可能希望从CRAN以外的公共库(例如, Bioconductor的R-伪造,OmegaHat等
  • 准备自己的研发回购:您可能希望定制的内部包添加到您的存储库。

见介绍:

  1. Using miniCRAN to create a local CRAN repository
  2. Create a local package repository using miniCRAN