我试着安装一个包,使用

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


当前回答

另一个小的添加,当尝试使用docker映像摇杆/ R -ver:3.1.0测试旧R版本时

默认的回购设置是MRAN,这无法获得许多包。 那个版本的R没有https,所以,举个例子: 安装。Packages ("knitr", repos = "https://cran.rstudio.com")似乎可以工作。

其他回答

访问https://cran.r-project.org/src/contrib/Archive/。 用Ctrl + F找到要安装的包 单击包名称 确定要安装的版本 打开RStudio 输入"install.packages("https://cran.r-project.org/src/contrib/Archive/[NAME OF PACKAGE]/[VERSION NUMBER].tar.gz", repos = NULL, Type ="source")"


在某些情况下,您需要提前安装几个包才能使用您想要使用的包。

例如,我需要安装7个包(Sejong, hash, rJava, tau, RSQLite, devtools, stringr)来安装KoNLP包。

install.packages('Sejong')
install.packages('hash')
install.packages('rJava')
install.packages('tau')
install.packages('RSQLite')
install.packages('devtools')
install.packages('stringr')

library(Sejong)
library(hash)
library(rJava)
library(tau)
library(RSQLite)
library(devtools)
library(stringr)

install.packages("https://cran.r-project.org/src/contrib/Archive/KoNLP/KoNLP_0.80.2.tar.gz", repos = NULL, type="source")
library(KoNLP)

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

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

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

在我的例子中,解决方案是简单地升级R。

我也有同样的问题(在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

我发现@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")