How should I deal with “package 'xxx' is not available (for R version x.y.z)” warning?
我试图安装一个程序包,使用
1 | install.packages("foobarbaz") |
但收到了警告
1 2 | Warning message: package 'foobarbaz' is not available (for R version x.y.z) |
为什么R不认为包是可用的?
另请参阅这些与此问题的具体实例相关的问题:
我的包裹不适用于R 2.15.2包"rbbg"不可用(适用于R版本2.15.2)软件包不可用(适用于R版本2.15.2)install.packages中的包domc不适用于r版本3.0.0警告依赖项"rglpk"不可用于包"fportfolio"如果R版本没有可用的包,该怎么办?R版本3.0.1的Bigvis软件包不可用吗?包"syncwave"/"mvcwt"不可用(适用于R版本3.0.2)"钻石"包不可用(适用于R版本3.0.0)R的PLYR软件包是否不适用于R版本3.0.2?https://stackoverflow.com/questions/21580661/installing-predictabel-package-on-r-2-15-2未在R 64 3.0.2上安装程序包Bigmemory包"maker"不可用(适用于3.0.2版)包"rtn"不可用(对于R版本3.0.1)安装geor包时出现问题包"twitter"不可用(适用于R版本3.1.0)如何安装"rcpp,package"?我得到"包裹不可用"包"dataset"不可用(对于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。你不会拼写好的。
首先要测试的是您是否正确拼写了包的名称?包名称在R中区分大小写。好的。
2。你找不到合适的存储库好的。
接下来,您应该检查包是否可用。类型好的。
1 | setRepositories() |
看到了吗?设置存储库。好的。
要查看R将在哪个存储库中查找您的包,可以选择选择其他存储库。至少,您通常希望选择 要永久更改此设置,请在您的 三。该包不在您选择的存储库中好的。 使用返回所有可用的包好的。 另请参见R可用软件包的名称,?可用。包。好的。 由于这是一个大矩阵,您可能希望使用数据查看器来检查它。或者,您可以通过对行名称进行测试来快速检查包是否可用。好的。 或者,可以在cran、cran(extras)、bioconductor、r-forge、rforge和github浏览器中查看可用软件包的列表。好的。 与起重机后视镜交互时可能收到的另一个警告信息是:好的。 这可能表示选定的CRAN存储库当前不可用。您可以使用 包可能不可用有几个原因。好的。 4。你不想要包裹好的。 也许你真的不想要包裹。对于包和库,或者包和数据集之间的区别,通常会混淆。好的。
A package is a standardized collection of material extending R, e.g. providing code, data, or documentation. A library is a place (directory) where R knows to find packages it can use
Ok. 要查看可用的数据集,请键入好的。 5。R或生物导体已过时好的。 它可能依赖于更新版本的R(或者它导入/依赖的包之一)。看好的。 并考虑将R安装更新到当前版本。在Windows上,通过 (当然,您可能需要先使用 对于生物导体封装,您可能需要更新您的生物导体安装。好的。 6。包裹过期了好的。 它可能已经存档(如果不再维护并且不再通过 在这种情况下,可以使用 另一种选择是从Github起重机后视镜安装。好的。 7。there is不是Windows / Linux二进制/ OS X> 它可能not have to Windows二进制的两个额外的requiring does not have that cran软件。additionally some are available,packages the sources for some or只走到平台。在这房子,there may be the if the包装……compiling队列(例如C、C++、Fortran),那么Windows安装在线或在线rtools OS X install the developer Xcode工具附带的源码,和install the version of the package。> 你可以告诉cran在线,如果你需要特殊的工具从开源模式建立茶叶包装茶叶 8。茶叶包装bitbucket GitHub /在线/ gitorious is> 它可能有一个bitbucket /在线/ gitorious GitHub库。这些packages require to install the (as with You may need to 9。there is不开源version of the package> 尽管二进制version of the package is available你is not,the开源版本。你可以把这个check by setting off> 在这我知道答案的模式描述的程序办理。imanuelc and the details of 10。在茶叶包装中存放的是非标准> 你的包是在非标准库(例如 好吧。 在最新的R(3.2.3)中有一个bug,它有时会阻止它找到正确的包。解决方法是手动设置存储库:[gen/prote/metabol/transcript]omics.>del>生物分析,则选择
2
"foobarbaz" %in% rownames(ap)
2
updateR()
2
biocLite("BiocUpgrade")
2
install_version("foobarbaz","0.1.2")
2
install_github("cran/foobarbaz")
2
3
4
5
# Or equivalently, for Bioconductor packages:
source("http://bioconductor.org/biocLite.R")
biocLite("foobarbaz", type ="source")
2
3
4
install_github("packageauthor/foobarbaz")
install_bitbucket("packageauthor/foobarbaz")
install_gitorious("packageauthor/foobarbaz")
1 | install.packages("lubridate", dependencies=TRUE, repos='http://cran.rstudio.com/') |
在其他问题中找到解决方案
有些版本的
1 | options(download.file.method ="wget") |
这个解决方案是由一个朋友提出的,但是我在任何一个论坛上都找不到它,所以我把这个答案提交给了其他人。
11。R(或其他依赖项)已过期,您不想更新它。
警告:这并不是最佳实践。
- 下载包源。
- 导航到
DESCRIPTION 文件。 使用文本编辑器删除有问题的行,例如
1Depends: R (>= 3.1.1)从本地(即从
DESCRIPTION 的父目录)安装,例如1install.packages("foo", type="source", repos=NULL)
这个解决方案可能会破坏r,但这里是一个最简单的解决方案,可以工作99%的时间。
你需要做的只是:
1 | install.packages('package-name',repos='http://cran.us.r-project.org') |
正如作者在这里提到的
这节省了我很多时间调试出了什么问题。在许多情况下,只是过时的镜子。此功能可以使用
1 2 3 4 5 6 7 8 | 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")) |
我遇到的一件事是,我的Linux发行版提供的R版本(Ubuntu 14.04提供的R版本3.0.2)对于Cran上最新版本的软件包来说太旧了(在我的例子中,从今天起,是
当我收到同样的警告时,这就是我最终可以在R-3.4.1中安装psych包的方法。
1:搜索那个包裹。
2:通过tar.gz扩展手动下载
3:为R中的安装包选择了选项"package archive file(.zip;.tar.gz)"。
4:本地浏览到下载位置并单击安装
您可能会收到一个警告:依赖项"xyz"不适用于该包,然后首先从存储库安装这些依赖项,然后执行步骤3-4。.
我在Ubuntu上仔细地按照安装r的说明修复了这个错误。这包括:
第一步,如果你愿意的话,你可以选择任何一个CRAN下载镜像来代替我的多伦多大学。
我有同样的问题(在Linux上),可以通过更改代理设置来解决。如果您在代理服务器后面,请在R中使用
1 2 | http_proxy=https://proxy.dom.com:port http_proxy_user=user:passwd |
将其更改为
1 | http_proxy="http://user:[email protected]:port" |
解决了问题。你也可以对
当我读到"包XXX不适用于R版本-X-Y-Z"时,这不是第一个想到的……
高温高压
在从源代码安装R包时,我犯了一个错误,忘记了放
问题不是R的版本,而是
希望这能帮助别人。
当我使用生物导体作为源,然后调用BiocLite时,它几乎总是对我有效。例子:
1 2 | source("https://bioconductor.org/biocLite.R") biocLite("preprocessCore") |
另一个小的添加,当尝试使用docker映像
如本文(法语)所述,当您的计算机上安装了两个版本的R时,就会发生这种情况。卸载最旧的,然后再次尝试安装包!对我来说很管用。
开发工具+Github。这3行(帮助我解决了这个错误)还没有提到:
1 2 3 | install.packages("devtools") # if not already installed library(devtools) install_git("https://github.com/profile/foobarbaz_repository") |
我在安装软件包"情感"时遇到了同样的问题。开始搜索并尝试了许多命令。最后,使用以下命令安装包:
1 | install_url("http://cran.r-project.org/src/contrib/Archive/sentiment/sentiment_0.2.tar.gz") |