我试着安装一个包,使用

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)"


当前回答

这为我节省了大量调试错误的时间。在很多情况下,只是镜子过时了。该函数可以使用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"))

其他回答

我在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下载镜像来代替我的多伦多大学下载镜像。

这为我节省了大量调试错误的时间。在很多情况下,只是镜子过时了。该函数可以使用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"))

这个解决方案可能会破坏R,但这里有一个最简单的解决方案,99%的时间都有效。

你需要做的只是:

install.packages('package-name',repos='http://cran.us.r-project.org')

正如作者在这里提到的

我发现@Richie Cotton的出色解决方案中#6包的一个轻微变化已经过时了。

有时包维护者可能会显示它不支持的R版本差距。在这种情况下,您至少有两个选择:1)将您的R版本升级到目标包已经支持的下一个版本,2)从可用的旧版本中安装最新的版本,以配合您的R版本。

一个具体的例子:用于数据挖掘的包的最新CRAN版本5.3.0不支持R版本3.4,因为它在包版本5.2.0 (R >= 2.13.0)和5.3.0 (R >=3.5)之间有很大的更新。

在这种情况下,升级R安装的替代方案是前面提到的解决方案。如果您没有devtools包(其中包括包远程),请安装devtools包,然后安装可以在当前r中工作的特定版本。您可以在CRAN页面上查找特定的包存档信息。

library("devtools")
install_version("rattle", version = "5.2.0", repos = "http://cran.us.r-project.org")

当我在R-3.4.1中得到相同的警告时,这就是我最终可以为安装psych软件包所做的事情

1:谷歌那个包裹。

2:手动下载,扩展名为tar.gz

3:选择“包归档文件(.zip;.tar.gz)”选项安装R中的包

4:本地浏览到下载的地方,点击安装

你可能会得到一个警告:软件包的依赖项'xyz'不可用,然后首先从存储库安装这些依赖项,然后执行步骤3-4 .