我的包对R 2.15.2不起作用

时间:2012-10-30 03:12:38

标签: r

我在本地(公司)仓库上有一个名为rpackage的软件包。当我运行install.packages("rpackage")时,它告诉我:

Installing package(s) into ‘C:/Program Files/R/R-2.15.2/library’
(as ‘lib’ is unspecified)
Warning in install.packages :
  package ‘rpackage’ is not available (for R version 2.15.2)

我已使用R CMD INSTALL --build .构建此程序包,已发布到本地存储库并运行tools::write_PACKAGES()以更新PACKAGES文件。当我运行R --version时,我得到:

R version 2.15.2 (2012-10-26) -- "Trick or Treat"
Copyright (C) 2012 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: i386-w64-mingw32/i386 (32-bit)

当我跑R CMD INSTALL --build --version时,我得到:

R add-on package installer: 2.15.2 (r61015)

本地repo目录结构遵循official documentation并一直有效,直到我更新到R 2.15.2。结构是:

\\server\folder\R\bin\windows\contrib\
    2.11\
    2.12\
    2.13\
    2.14\
    2.15\
\\server\folder\R\src\contrib\

如果我在R 2.15.1中运行install.packages("rpackage")我没有问题。为了让它与新版本的R一起使用,我需要做些什么特别的事情吗?

我注意到CRAN服务器使用的目录结构略有不同。例如,CSIRO CRAN镜像使用:

http://cran.csiro.au/bin/windows/contrib/r-release/

有关如何解决此问题的想法吗?

非常感谢。

3 个答案:

答案 0 :(得分:7)

不幸的是,帮助文件或错误消息都没有解释为什么会发生此错误。由于它是turns out,当源包不可用时,install.packages()也会失败,但二进制包也会失败。这不是记录在案的行为(或更慷慨 - 没有明确记录):

  

对于二进制安装,该函数还检查同一存储库中源包的可用性,并报告源包是否具有更高版本,或者是否可用但没有二进制版本。可以通过options(install.packages.check.source = "no")

来抑制此检查

要修复,options(install.packages.check.source = FALSE)。这也可以包含在您的.First功能中。

答案 1 :(得分:2)

我不确定imanuelc的解决方案是否适合所有人,因为它对我不起作用:

> options(install.packages.check.source = FALSE)
> install.packages("rstudio", lib="C:/Program Files/R/R-2.15.2/library", dep=TRUE)
Warning in install.packages :
package ‘rstudio’ is not available (for R version 2.15.2)

在我的情况下,我已经看到这个错误来到某些软件包,如tm,rjson等。我知道 R 2.15的所有软件包的一个版本,因为大多数实际上它们来自我的IDE,我只是想让它们安装到一个特定的目录中(我希望在那里为不同IDE的未来编码器安装install.packages语句)。

我不能说我知道根本原因,但对我来说,解决方法是直接从镜像下载二进制文件并在代码中“手动”安装它们。

答案 2 :(得分:1)

尝试将R升级到新版本。

首先更新sources.list文件。您可以使用以下命令执行此操作:

nano /etc/apt/sources.list

将以下行添加到此文件中:

deb http://cran.r-project.org/bin/linux/debian/ wheezy-cran3/

然后做:

apt-get update

删除旧版本:

apt-get remove r-base-core

使用以下命令安装:

apt-get install r-base r-base-dev