我尝试使用安装包
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
16 回答
另一个小的补充,同时尝试使用docker镜像测试旧的R版本
rocker/r-ver:3.1.0
默认
repos
设置为MRAN
,这无法获得许多包 .该版本的R没有
https
,因此,例如:install.packages("knitr", repos = "https://cran.rstudio.com")
似乎有效 .我遇到的一件事是我的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,但我是'm afraid that doing so would interfere with my distribution'的包管理器 .在最新的R(3.2.3)中有一个错误,有时会阻止它找到正确的包 . 解决方法是手动设置存储库:
在other question找到解决方案
1. You can't spell
要测试的第一件事是你正确拼写包的名称吗?包名称在R中区分大小写 .
2. You didn't look in the right repository
接下来,您应该检查包是否可用 . 类型
另见?setRepositories .
要查看哪些存储库R将查找您的包,并选择一些其他存储库 . 至少,您通常需要选择
CRAN
,如果您使用Windows,则选择CRAN (extras)
,如果您执行任何[gen / prote / metabol / transcript]组织生物分析,则需要Bioc*
存储库 .要永久更改此项,请在Rprofile.site文件中添加
setRepositories(ind = c(1:6, 8))
之类的行 .3. The package is not in the repositories you selected
使用返回所有可用的包
另见Names of R's available packages,?available.packages .
由于这是一个大型矩阵,您可能希望使用数据查看器来检查它 . 或者,您可以通过针对行名称进行测试来快速检查包是否可用 .
或者,可以在浏览器中查看可用包列表CRAN,CRAN (extras),Bioconductor,R-forge,RForge和github .
与CRAN镜像交互时可能会收到的另一条警告信息是:
这可能表示所选CRAN存储库当前不可用 . 您可以使用
chooseCRANmirror()
选择其他镜像并再次尝试安装 .包裹可能无法使用的原因有多种 .
4. You don't want a package
也许你真的不想要一个包 . 关于a package and a library或包与数据集之间的区别,常常会感到困惑 .
要查看可用数据集,请键入
5. R or Bioconductor is out of date
它可能依赖于更新版本的R(或其导入/依赖的其中一个软件包) . 看着
并考虑将R安装更新到当前版本 . 在Windows上,这最容易通过installr包完成 .
(当然,您可能需要先
install.packages("installr")
. )对于Bioconductor包,您可能需要更新Bioconductor安装 .
6. The package is out of date
它可能是archived(如果不再维护并且不再通过R CMD check测试) .
在这种情况下,您可以使用install_version()加载旧版本的包
另一种方法是从github CRAN镜像安装 .
7. There is no Windows/OS X/Linux binary
由于需要CRAN没有的其他软件,它可能没有Windows binary . 此外,某些软件包仅可通过某些或所有平台的源提供 . 在这种情况下,
CRAN (extras)
存储库中可能有一个版本(参见上面的setRepositories
) .如果软件包需要编译代码(例如C,C,FORTRAN),那么在Windows上安装Rtools或在OS X上安装伴随XCode的developer tools,并通过以下方式安装软件包的源版本:
在CRAN上,您可以通过查看描述中的
NeedsCompilation
标志来判断是否需要使用特殊工具从源代码构建包 .8. The package is on github/Bitbucket/Gitorious
它可能在Github / Bitbucket / Gitorious上有一个存储库 . 这些包需要安装remotes包 .
(与
installr
一样,您可能需要先install.packages("remotes")
. )9. There is no source version of the package
虽然您的软件包的二进制版本可用,但源版本是不 . 您可以通过设置关闭此检查
如this SO answer by imanuelc和?install.packages的详细信息部分所述 .
10. The package is in a non-standard repository
您的包位于非标准存储库中(例如Rbbg) . 假设它合理地符合CRAN标准,您仍然可以使用
install.packages
下载它;您只需指定存储库URL即可 .另一方面,RHIPE不在类似CRAN的存储库中,并且有自己的installation instructions .
我有同样的问题(在Linux上)可以解决更改代理设置 . 如果您在代理服务器后面使用_中的
Sys.getenv("http_proxy")
检查配置 . 在我的~/.Renviron
中,我有以下行(来自https://support.rstudio.com/hc/en-us/articles/200488488-Configuring-R-to-Use-an-HTTP-or-HTTPS-Proxy)导致问题:将其更改为
解决了这个问题 . 你可以为
https
做同样的事情 .当我读到“包xxx不适用于r版-x-y-z”时,这不是第一个想法......
HTH
当我使用bioconductor作为源然后调用biocLite时,它几乎总是对我有用 . 例:
某些版本的
R
和libcurl
似乎存在问题 . 我在Mac (R version 3.2.2)
和Ubuntu (R version 3.0.2)
上遇到了同样的问题,并且在两个实例中都只是通过在install.packages
命令之前运行它来解决它该解决方案是由朋友提出的,但是,我无法在任何论坛中找到它,因此将答案提交给其他人 .
11. R (or another dependency) is out of date and you don't want to update it.
警告这不是最佳做法 .
下载包源 .
导航到
DESCRIPTION
文件 .使用文本编辑器删除有问题的行,例如
DESCRIPTION
的父目录安装),例如我在安装包“情绪”时遇到了同样的问题 . 开始搜索并尝试了许多命令 . 最后使用以下命令安装包:
从源代码安装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)
,在这个场合为我工作 .希望这有助于某人 .
我通过仔细遵循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下载镜像代替我的多伦多大学 .
当我得到相同的警告时,这是我最终可以在R-3.4.1中安装心理包的方法
1:用Google搜索该包 .
2:手动下载tar.gz扩展名
3:为R中的安装包选择“包存档文件(.zip; .tar.gz)”选项
4:在本地浏览到下载地点并单击安装
您可能会收到一条警告:依赖项'xyz'不适用于该软件包,然后首先从存储库中安装它们,然后执行步骤3-4 .
如上所述here(法语),当您的计算机上安装了两个版本的R时,就会发生这种情况 . 卸载最旧的一个,然后再次尝试安装包!它对我来说很好 .
这个解决方案可能会破坏R,但这是一个最简单的解决方案,可以在99%的时间内运行
你需要做的只是:
正如作者所提到的here
devtools GitHub . 这3行(帮我解决了这个错误)还没有提到:
这节省了我很多时间调试错误 . 在许多情况下,镜子已经过时了 . 此函数可以使用
https://cran.rstudio.com/
安装多个包及其依赖项: