我试着安装一个包,使用

install.packages("foobarbaz")

却收到了警告

Warning message:
package 'foobarbaz' is not available (for R version x.y.z)

为什么R认为这个包是不可用的?

参见这些问题的具体例子:

My package doesn't work for R 2.15.2 package 'Rbbg' is not available (for R version 2.15.2) package is not available (for R version 2.15.2) package doMC NOT available for R version 3.0.0 warning in install.packages Dependency ‘Rglpk’ is not available for package ‘fPortfolio’ What to do when a package is not available for our R version? Is the bigvis package for R not available for R version 3.0.1? package ‘syncwave’/‘mvcwt’ is not available (for R version 3.0.2) package ‘diamonds’ is not available (for R version 3.0.0) Is the plyr package for R not available for R version 3.0.2? Package bigmemory not installing on R 64 3.0.2 package "makeR" is not available (for version 3.0.2) package ‘RTN’ is not available (for R version 3.0.1) Trouble Installing geoR package package ‘twitterR’ is not available (for R version 3.1.0) How to install 'Rcpp, package? I got "package is not available" package ‘dataset’ is not available (for R version 3.1.1) "package ‘rhipe’ is not available (for R version 3.1.2)"


当前回答

当从源代码安装R包时,我犯了一个错误,忘记把repos=NULL。在这种情况下,错误消息有点误导:包'foobarbaz'不可用(对于R版本x.y.z)

问题不在于R的版本,而在于回购参数。我安装了。packages('path/to/source/code/of/foobarbaz', type='source', repos=NULL)在这种情况下为我工作。

希望这能帮助到一些人。

其他回答

我也有同样的问题(在Linux上),可以通过更改代理设置来解决。 如果您在代理服务器后面,请使用R. getenv("http_proxy")检查配置。 在我的~/。我有以下几行(来自https://support.rstudio.com/hc/en-us/articles/200488488-Configuring-R-to-Use-an-HTTP-or-HTTPS-Proxy)导致了这个问题:

http_proxy=https://proxy.dom.com:port
http_proxy_user=user:passwd

改为

http_proxy="http://user:passwd@proxy.dom.com:port"

解决了问题。你可以对https做同样的事情。

当我读到“包xxx不可用于r版本-x-y-z”时,我的第一个想法不是……

HTH

我在Ubuntu上仔细按照安装r的说明修复了这个错误,包括:

添加deb http://cran.utstat.utoronto.ca/bin/linux/ubuntu trusty/到我的/etc/apt/sources.列表文件 运行sudo apt-get update 运行sudo apt-get install r-base-dev

对于第一步,如果你愿意,你可以选择任何CRAN下载镜像来代替我的多伦多大学下载镜像。

有些版本的R和libcurl似乎有问题。我在Mac (R版本3.2.2)和Ubuntu (R版本3.0.2)上也遇到过同样的问题,在这两个例子中,在安装之前简单地运行这个程序就解决了。包的命令

options(download.file.method = "wget")

解决方案是由一个朋友建议的,然而,我在任何论坛上都找不到它,因此提交了这个答案给其他人。

在R 3.2.3(2016年新发布)中有一个错误,有时会阻止它找到正确的包。解决方法是手动设置存储库:

install.packages("lubridate", dependencies=TRUE, repos='http://cran.rstudio.com/')

在其他问题中找到解决方案

这为我节省了大量调试错误的时间。在很多情况下,只是镜子过时了。该函数可以使用https://cran.rstudio.com/:安装多个包及其依赖项

packages <- function(pkg){
    new.pkg <- pkg[!(pkg %in% installed.packages()[, "Package"])]
    if (length(new.pkg))
        install.packages(new.pkg, dependencies = TRUE, repos='https://cran.rstudio.com/')
    sapply(pkg, require, character.only = TRUE)
}

packages(c("foo", "bar", "baz"))