我尝试使用
安装软件包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?
https://stackoverflow.com/questions/21580661/installing-predictabel-package-on-r-2-15-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://stackoverflow.com/questions/31439092/package-dplyr-is-not-available-for-r-version-3-1-1
答案 0 :(得分:487)
<强> 1。你不能拼写
要测试的第一件事是您是否正确拼写了包的名称?包中的包名称区分大小写。
<强> 2。您没有查看正确的存储库
接下来,您应该检查包是否可用。型
setRepositories()
要查看哪些存储库R将查找您的包,并选择其他一些存储库。至少,您通常需要选择CRAN
,如果您使用Windows则需要CRAN (extras)
,如果您执行任何 [gen / prote / metabol],则需要生物分析。Bioc*
存储库/ transcript] omics
要永久更改此内容,请在Rprofile.site
文件中添加setRepositories(ind = c(1:6, 8))
行。
第3。该软件包不在您选择的存储库中
使用
返回所有可用的包ap <- available.packages()
另请参阅Names of R's available packages,?available.packages。
由于这是一个大矩阵,您可能希望使用数据查看器来检查它。或者,您可以通过针对行名称进行测试来快速检查包是否可用。
View(ap)
"foobarbaz" %in% rownames(ap)
或者,可以在浏览器中查看可用包列表CRAN,CRAN (extras),Bioconductor,R-forge,RForge和{{ 3}}
与CRAN镜像交互时可能会收到的另一条警告信息是:
Warning: unable to access index for repository
这可能表示所选CRAN存储库当前不可用。您可以使用chooseCRANmirror()
选择其他镜像并再次尝试安装。
包裹可能无法使用的原因有多种。
<强> 4。您不需要包
也许你真的不想要一个包。关于github或包与数据集之间的区别,常常会感到困惑。
包装是延伸R的材料的标准化集合,例如提供代码,数据或文档。库是一个地方(目录),R知道找到它可以使用的包
要查看可用数据集,请键入
data()
<强> 5。 R或Bioconductor已过期
它可能依赖于更新版本的R(或其导入/依赖的其中一个软件包)。看看
ap["foobarbaz", "Depends"]
并考虑将R安装更新为当前版本。在Windows上,这最容易通过a package and a library包完成。
library(installr)
updateR()
(当然,您可能需要先install.packages("installr")
。)
对于Bioconductor包,您可能需要更新Bioconductor安装。
source("http://bioconductor.org/biocLite.R")
biocLite("BiocUpgrade")
<强> 6。包裹已过期
可能是installr
(如果不再维护,不再通过archived次测试)。
在这种情况下,您可以使用R CMD check
library(remotes)
install_version("foobarbaz", "0.1.2")
另一种方法是从github CRAN镜像安装。
library(remotes)
install_github("cran/foobarbaz")
<强> 7。没有Windows / OS X / Linux二进制文件
由于需要CRAN没有的其他软件,它可能没有install_version()
。此外,某些软件包仅可通过某些或所有平台的源提供。在这种情况下,CRAN (extras)
存储库中可能有一个版本(请参阅上面的setRepositories
)。
如果软件包需要编译代码(例如C,C ++,FORTRAN),那么在Windows上安装Windows binary或在OS X上安装伴随XCode的Rtools,并通过以下方式安装软件包的源版本:
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上有一个存储库。这些包需要安装developer tools包。
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")
如remotes
和this SO answer by imanuelc的详细信息部分所述。
<强> 10。该软件包位于非标准存储库中
您的包位于非标准存储库中(例如?install.packages
)。假设它合理地符合CRAN标准,您仍然可以使用install.packages
下载它;你只需要指定存储库URL。
install.packages("Rbbg", repos = "http://r.findata.org")
另一方面,
答案 1 :(得分:80)
在最新的R(3.2.3)中有一个错误,有时会发现找不到正确的包裹。解决方法是手动设置存储库:
install.packages("lubridate", dependencies=TRUE, repos='http://cran.rstudio.com/')
中找到解决方案
答案 2 :(得分:23)
某些版本的R
和libcurl
似乎存在问题。我在Mac (R version 3.2.2)
和Ubuntu (R version 3.0.2)
上遇到了同样的问题,在这两种情况下,只需在install.packages
命令
options(download.file.method = "wget")
该解决方案是由朋友提出的,然而,我还没有能够在任何论坛中找到它,因此将答案提交给其他人。
答案 3 :(得分:13)
Ctrl
+ F
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
,{ {1}})来安装stringr
软件包。
KoNLP
答案 4 :(得分:11)
<强> 11。 R(或其他依赖项)已过期,您不想更新它。
警告这不是最佳做法。
saver = [[configurations alloc]init];
currentUser *tmpUser = [saver loadCustomObject];
thisUser = [currentUser instance];
static dispatch_once_t once;
dispatch_once(&once, ^ {
if(tmpUser != nil){
if(![tmpUser.username isEqualToString:@""]){
for(Friend *savedFriend in tmpUser.FriendsList)
{
[thisUser addFriend:savedFriend];
}
thisUser.username = tmpUser.username;
thisUser.email = tmpUser.email;
thisUser.userID = tmpUser.userID;
thisUser.userPSW = tmpUser.userPSW;
thisUser.userImg = tmpUser.userImg;
});
文件。使用文字编辑器删除有问题的行,例如
DESCRIPTION
从本地安装(即从Depends: R (>= 3.1.1)
的父目录安装),例如
DESCRIPTION
答案 5 :(得分:10)
此解决方案可能会破坏R,但这是一种最简单的解决方案,可以在99%的时间内工作。
您需要做的只是:
install.packages('package-name',repos='http://cran.us.r-project.org')
如作者在here上所述
答案 6 :(得分:8)
我发生的一件事是我的linux发行版提供的R版本(Ubuntu 14.04提供的R版本3.0.2)对于CRAN上可用的最新版本的软件包来说太旧了(在我的情况下,{ {1}}版本1.8.3截至今天)。解决方案是使用我的发行版的打包系统,而不是尝试从R安装(plyr
得到apt-get install r-cran-plyr
的1.8.1版本)。也许我本可以尝试使用plyr
更新R,但我担心这样做会干扰我的发行版包管理器。
答案 7 :(得分:8)
这节省了我很多时间来调试错误。在许多情况下,镜子已经过时了。此函数可以使用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"))
答案 8 :(得分:4)
我通过仔细关注instructions for installing R在Ubuntu上修复了此错误。其中包括:
deb http://cran.utstat.utoronto.ca/bin/linux/ubuntu trusty/
添加到我的/etc/apt/sources.list文件sudo apt-get update
sudo apt-get install r-base-dev
对于第1步,如果您愿意,可以选择任何CRAN下载镜像代替我的多伦多大学。
答案 9 :(得分:4)
当我得到相同的警告
时,我最终可以在R-3.4.1中安装心理包1:用Google搜索该包。
2:手动下载tar.gz扩展名
3:为R中的安装包选择“包存档文件(.zip; .tar.gz)”选项
4:在本地浏览到下载地点并点击安装
您可能会收到警告:依赖项'xyz'不适用于该软件包,然后首先从存储库安装那些,然后执行步骤3-4
答案 10 :(得分:3)
我遇到了同样的问题(在Linux上),可以通过更改代理设置来解决。
如果您位于代理服务器后面,请使用R中的Sys.getenv("http_proxy")
检查配置。
在我的~/.Renviron
中,我有以下几行(来自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
答案 11 :(得分:2)
从源代码安装R软件包时,我犯了忘记放入repos=NULL
的错误。在这种情况下,错误消息会引起误解:package 'foobarbaz' is not available (for R version x.y.z)
问题不是R的版本,而是repos
参数。我做了install.packages('path/to/source/code/of/foobarbaz', type='source', repos=NULL)
,在这种情况下对我有用。
希望这对某人有帮助。
答案 12 :(得分:1)
对于我来说,解决方案是简单地升级R。
答案 13 :(得分:1)
我发现@Richie Cotton的出色解决方案对#6包装已经过时进行了细微改动。
有时,软件包维护者可能会显示它不支持的R版本差距。在这种情况下,您至少有两个选择:1)将R版本升级到目标软件包已支持的下一个版本,2)安装可用于R版本的较旧版本中的最新版本。
一个具体示例:用于数据挖掘的软件包rattle
的最新CRAN版本5.3.0不支持R版本3.4,因为它在软件包版本5.2.0之间进行了较大的更新(R> = 2.13。 0)和5.3.0(R> = 3.5)。
在这种情况下,已经提到的解决方案是升级R安装的替代方法。如果没有安装软件包devtools
(包括软件包remotes
),然后安装将在当前R中运行的特定版本。您可以在CRAN页面上查找该信息特定的软件包档案。
library("devtools")
install_version("rattle", version = "5.2.0", repos = "http://cran.us.r-project.org")
答案 14 :(得分:1)
另一个原因+解决方案
尝试在公司的HPC上的RStudio中安装 pkgdown 时遇到此错误(“软件包XXX无法用于R版本X.X.X”)。
结果证明,他们在HPC上拥有的CRAN快照是从2018年1月开始(将近2年),实际上 pkgdown 当时不存在。这本意是为外行用户控制软件包的来源,但是作为开发人员,您可以在大多数情况下通过以下方法对此进行更改:
## checking the specific repos you currently have
getOption("repos")
## updating your CRAN snapshot to a newer date
r <- getOption("repos")
r["newCRAN"] <- "https://cran.microsoft.com/snapshot/*2019-11-07*/"
options(repos = r)
## add newCRAN to repos you can use
setRepositories()
如果您知道自己在做什么,并且可能需要系统CRAN中可能没有的多个软件包,则可以在项目.Rprofile
中进行设置。
如果只是一个包,也许只需使用install.packages("package name", repos = "a newer CRAN than your company's archaic CRAN snapshot")
。
答案 15 :(得分:1)
当我使用bioconductor作为源然后调用biocLite时,它几乎总是对我有用。例如:
source("https://bioconductor.org/biocLite.R")
biocLite("preprocessCore")
答案 16 :(得分:0)
尝试使用泊坞窗图片id
1
设置为rocker/r-ver:3.1.0
,但无法获得多个软件包。repos
,所以,例如:
MRAN
似乎有效。答案 17 :(得分:-1)
正如前面提到的perform(_:on:with:waitUntilDone:)
(法语),当您的计算机上安装了两个版本的R时,就会发生这种情况。卸载最旧的一个,然后再次尝试安装包!它对我来说很好。