R报错处理:Warning: package ‘xxx’ is not available for R version yyyy
出现该情况说明默认下载目标不适配于当前使用的R版本,需要手动下载,步骤如下。
出现该情况说明默认下载目标不适配于当前使用的R版本,需要手动下载,步骤如下。
1.确认包到底在哪个源
- CRAN 包:在浏览器打开
https://cran.r-project.org/package=xxx
如果能看到 DESCRIPTION 信息,就是 CRAN 的。
- Bioconductor 包:在
https://bioconductor.org/packages/xxx
能查到,就是 Bioconductor 的。 (下载了符合R版本的Bioconductor,Bioconductor一般会自动匹配与自己版本对应的适用包)
- GitHub/R-forge 等:上面两处都没有,多半是 GitHub 等托管。
2. 从源安装
包安装信息表
包的归属 |
安装命令 |
常见注意点 |
CRAN |
`install.packages("xxx")` |
换镜像、指定 `repos`;若包已归档,用源码或旧版。 |
Bioconductor |
`BiocManager::install("xxx")` |
先 `install.packages("BiocManager")`;版本不匹配时加 `version = "3.xx"` 。 |
GitHub |
`remotes::install_github("作者/仓库")` |
需预先 `install.packages("remotes")`;Windows 需 Rtools。 |
3. 版本不匹配时的 4 个补救办法
1. 升级/降级 R
官方建议用最新版 R,但生信环境常锁定旧版;可在同一台机器用 `rig`/`r-switch`/`conda` 并存多个 R。
2. 指定 Bioconductor 版本
```
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install(version = "3.21") # 与当前 R 匹配
BiocManager::install("xxx")
```
系统会提示你该用哪个 `version` 。
3. 安装旧版 CRAN 包
```
# 方式 A:archive 页面手动下载
install.packages("https://cran.r-project.org/src/contrib/Archive/xxx/xxx_1.2.3.tar.gz",
repos = NULL, type = "source")
# 方式 B:remotes 一键
remotes::install_version("xxx", version = "1.2.3")
```
4. 源码或二进制本地安装
Windows 下载 `.zip`,Linux/macOS 下载 `.tar.gz`,然后
```
install.packages("xxx.zip", repos = NULL, type = "win.binary") # Windows
R CMD INSTALL xxx.tar.gz # Linux/macOS
```
报错“not available”处理流程表
步骤 |
操作 |
情况判断 |
处理方式 |
1 |
拼写/大小写检查 |
大小写错误 |
修正 |
2 |
查 CRAN 页面 |
存在 |
换镜像/源码安装 |
2 |
查 CRAN 页面 |
不存在 |
继续到3 |
3 |
查 Bioconductor 页面 |
存在 |
BiocManager::install() |
3 |
查 Bioconductor 页面 |
不存在 |
继续到4 |
4 |
GitHub搜索 |
存在 |
remotes::install_github("作者/xxx") |
R报错笔记
更多推荐
所有评论(0)