提问



我尝试使用安装包


install.packages("foobarbaz")


但收到了警告


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


为什么不认为包装可用?


另请参阅这些问题,参考此问题的具体实例:


我的包对R 2.15.2不起作用
包'Rbbg'不可用(对于R版本2.15.2)

包不可用(对于R版本2.15.2)

package doMC不适用于install.packages中的R版本3.0.0警告
依赖'Rglpk'不适用于'fPortfolio'包
当我们的R版本没有包时该怎么办?

R版本3.0不能用于R的bigvis包吗?

包'syncwave'/'mvcwt'不可用(对于R版本3.0.2)

包'钻石'不可用(R版3.0.0)

R版3.0.2的plyr软件包是否不可用?

https://stackoverflow.com/questions/21580661/installing-predictabel-package-on-r-2-15-2结果
打包bigmemory不安装在R 64 3.0.2上
包makeR不可用(对于版本3.0.2)

包'RTN'不可用(对于R版本3.0.1)

无法安装geoR软件包

包'twitterR'不可用(对于R版本3.1.0)

如何安装'Rcpp,包?我得到包不可用

包'数据集'不可用(对于R版本3.1.1)

包'rhipe'不可用(对于R版本3.1.2)

https://stackoverflow.com/questions/31439092/package-dplyr-is-not-available-for-r-version-3-1-1

最佳参考


1。你不能拼写


要测试的第一件事是您是否正确拼写了包的名称?包中的名称区分大小写。





2。你没有找到合适的存储库


接下来,您应该检查包是否可用。类型


setRepositories()


另见?setRepositories。[93]


要查看哪些存储库R将查找您的包,并选择一些其他存储库。至少,您通常需要选择CRAN,如果您使用Windows则需要CRAN (extras),如果您执行任何 [[gen/prote/metabol]],则需要Bioc*存储库/transcript]] omics 生物分析。


要永久更改此项,请在Rprofile.site文件中添加setRepositories(ind = c(1:6, 8))之类的行。[94]





第3。该软件包不在您选择的存储库中


使用返回所有可用的包


ap <- available.packages()


另见R的可用包名称,?available.packages。 [96]


由于这是一个大型矩阵,您可能希望使用数据查看器来检查它。或者,您可以通过针对行名称进行测试来快速检查包是否可用。


View(ap)
"foobarbaz" %in% rownames(ap)


或者,可以在浏览器中看到可用包的列表,用于CRAN,CRAN(附加),Bioconductor,R-forge,RForge和github。[97] [98] [99] [100] [101] [102]


与CRAN镜像交互时可能会收到的另一条警告信息是:


Warning: unable to access index for repository


这可能表示所选CRAN存储库当前不可用。您可以使用chooseCRANmirror()选择其他镜像并再次尝试安装。





包裹可能无法使用的原因有多种。





4。你不想要一个包


也许你真的不想要一个包。通常会对包和库,包和数据集之间的区别感到困惑。[103]



  包装是延伸R的材料的标准化集合,例如,提供代码,数据或文档。库是一个地方(目录),R知道它可以找到它可以使用的包



要查看可用数据集,请键入


data()





5。 R或Bioconductor已过期


它可能依赖于更新版本的R(或其导入/依赖的其中一个软件包)。看着


ap["foobarbaz", "Depends"]


并考虑将R安装更新为当前版本。在Windows上,这最容易通过installr包完成。[104]


library(installr)
updateR()


(当然,你可能需要先install.packages("installr")。)


对于Bioconductor包,您可能需要更新Bioconductor安装。


source("http://bioconductor.org/biocLite.R")
biocLite("BiocUpgrade")





6。包裹已过期


它可能已经存档(如果不再维护并且不再通过R CMD check测试)。 [105] [106]


在这种情况下,您可以使用install_version() [107]加载旧版本的包


library(remotes)
install_version("foobarbaz", "0.1.2")


另一种方法是从github CRAN镜像安装。


library(remotes)
install_github("cran/foobarbaz")





7。没有Windows/OS X/Linux二进制文件


由于需要CRAN没有的其他软件,它可能没有Windows二进制文件。此外,某些软件包仅可通过某些或所有平台的源提供。在这种情况下,CRAN (extras)存储库中可能有一个版本(参见上面的setRepositories)。 [108]


如果软件包需要编译代码(例如C,C ++,FORTRAN),那么在Windows上安装Rtools或在OS X上安装XCode附带的开发人员工具,并通过以下方式安装软件包的源版本:[109]


install.packages("foobarbaz", type = "source")

# Or equivalently, for Bioconductor packages:
source("http://bioconductor.org/biocLite.R")
biocLite("foobarbaz", type = "source")


在CRAN上,您可以通过查看描述中的NeedsCompilation标志来判断是否需要使用特殊工具从源代码构建包。





8。该软件包位于github/Bitbucket/Gitorious


它可能在Github/Bitbucket/Gitorious上有一个存储库。这些包需要安装remotes包。 [111]


library(remotes)
install_github("packageauthor/foobarbaz")
install_bitbucket("packageauthor/foobarbaz")
install_gitorious("packageauthor/foobarbaz")


(与installr一样,您可能需要先install.packages("remotes")。)





9。包没有源版本


虽然您的包的二进制版本可用,但源版本不可用。您可以通过设置关闭此检查


options(install.packages.check.source = "no")


正如imanuelc的回答和?install.packages的详细部分所述。 [113]





10。该软件包位于非标准存储库中


您的包裹在非标准存储库中(例如Rbbg)。假设它合理地符合CRAN标准,您仍然可以使用install.packages下载它;你只需要指定存储库URL。


install.packages("Rbbg", repos = "http://r.findata.org")


另一方面,RHIPE不在类似CRAN的存储库中,并且有自己的安装说明。[115] [116]

其它参考1


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


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


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

其它参考2


某些版本的Rlibcurl似乎存在问题。我在Mac (R version 3.2.2)Ubuntu (R version 3.0.2)上遇到了同样的问题,在这两种情况下,它只是通过在install.packages命令之前运行它来解决


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


这个解决方案是由一位朋友提出的,然而,我还没有能够在任何论坛中找到它,因此为其他人提交了这个答案。

其它参考3


这节省了很多时间来调试错误。在许多情况下只是镜像过时。这个函数可以使用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"))

其它参考4


发生在我身上的一件事是我的linux发行版提供的R版本(Ubuntu 14.04提供的R版3.0.2)对于CRAN上可用的最新版软件包来说太旧了(在我看来,plyr]]截至今天的版本1.8.3)。解决方案是使用我的发行版的打包系统而不是尝试从R安装(apt-get install r-cran-plyr得到我的plyr版本1.8.1)。也许我本可以尝试使用updateR()更新R,但我担心这样做会干扰我的发行版包管理器。

其它参考5


11。 R(或其他依赖项)已过期,您不想更新它。


警告这不是最佳做法。



  • 下载包源。

  • 导航至DESCRIPTION文件。

  • 使用文字编辑器删除有问题的行,例如


    Depends: R (>= 3.1.1)
    

  • 从本地安装(即从DESCRIPTION的父目录安装,例如


    install.packages("foo", type="source", repos=NULL)
    


其它参考6


我通过仔细按照安装R的说明修复了Ubuntu上的这个错误。这包括:[118]



  1. deb http://cran.utstat.utoronto.ca/bin/linux/ubuntu trusty/添加到我的/etc/apt/sources.list文件

  2. 正在运行sudo apt-get update

  3. 正在运行sudo apt-get install r-base-dev



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

其它参考7


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


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

其它参考8


当我得到相同的警告时,这是我最终可以在R-3.4.1中安装心理包的方法


1:用Google搜索该包。


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


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


4:在本地浏览到下载地点并单击安装


您可能会收到警告:依赖项xyz不适用于该软件包,然后首先从存储库安装那些,然后执行步骤3-4


其它参考9


当我使用bioconductor作为源然后调用biocLite时,它几乎总是对我有用。例:


source("https://bioconductor.org/biocLite.R")
biocLite("preprocessCore")

其它参考10


如此处所述(法语),当您的计算机上安装了两个版本的R时,可能会发生这种情况。卸载最旧的一个,然后再次尝试安装包!它对我来说很好。[120]

其它参考11


另一个小小的补充,同时尝试使用泊坞窗图像rocker/r-ver:3.1.0测试旧的R版本



  1. 默认repos设置为MRAN,但无法获得多个包。

  2. 那个版本的R没有https,所以,例如:
    install.packages("knitr", repos = "https://cran.rstudio.com")似乎有效。


其它参考12


从源代码安装R包时,我忘了忘记repos=NULL。在这种情况下,错误消息有点误导package 'foobarbaz' is not available (for R version x.y.z)


问题不在于R的版本,但是我必须包含repos参数,所以我做了install.packages('foobarbaz', repos=NULL)哪个有效

其它参考13


我在安装包情绪时遇到了同样的问题。开始搜索并尝试了许多命令。最后使用以下命令安装包:


install_url("http://cran.r-project.org/src/contrib/Archive/sentiment/sentiment_0.2.tar.gz")