3

我有一个名为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 .,发布到本地 repo 并运行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 目录结构遵循官方文档并一直工作,直到我更新到 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\

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

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

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

关于如何解决这个问题的任何想法?

非常感谢。

4

3 回答 3

7

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

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

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

于 2012-11-04T22:43:02.087 回答
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 一起提供的。我只是试图让它们安装到一个特定的目录中(我想要 install.packages 语句用于未来具有不同 IDE 的编码器)。

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

于 2013-02-21T16:36:01.353 回答
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
于 2014-11-07T15:11:08.430 回答