Anaconda中R语言install.packages()安装失败问题求助
问题背景
新笔记本安装Anaconda后,执行install.packages("dplyr")时出现以下报错:
正在安装依赖包'cli'、'glue'、'lifecycle'、'pillar'、'rlang'、'tibble'、'tidyselect'、'vctrs'
警告信息:
"无法访问仓库https://cran.r-project.org/bin/windows/contrib/3.6的索引:无法打开URL 'https://cran.r-project.org/bin/windows/contrib/3.6/PACKAGES'"
仅提供源码形式且需编译C/C++/Fortran的包:'cli' 'glue' 'rlang' 'tibble' 'tidyselect' 'vctrs' 'dplyr'
这些包将不会被安装
正在安装源码包'lifecycle'、'pillar'
install.packages("dplyr")警告:"包'lifecycle'安装退出状态非0""包'pillar'安装退出状态非0"
无法下载安装tidyverse、dplyr等R包,已尝试指定CRAN源、添加环境变量、卸载重装Anaconda,系统Path无韩语路径,用户位于韩国。
解决方案
1. 切换韩国本地CRAN镜像源
直接连接官方CRAN仓库可能因网络问题受阻,改用韩国本地镜像:
在R中执行:
install.packages("dplyr", repos = "https://cran.nexus.ac.kr/")
也可以设置默认镜像,后续安装无需重复指定:
options(repos = c(CRAN = "https://cran.nexus.ac.kr/"))
2. 升级Anaconda中的R版本
报错显示仓库路径对应R 3.6.x,该旧版本对部分新包兼容性差,建议升级R:
打开Anaconda Prompt,执行:
conda update r-base
升级完成后重启R,再尝试安装包。
3. 通过conda-forge通道安装R包
利用Anaconda的conda-forge通道直接获取预编译好的R包,避免源码编译失败:
在Anaconda Prompt中执行:
conda install -c conda-forge r-dplyr r-tidyverse
4. 检查并配置网络代理
若使用校园网或企业网络,可能存在代理限制,可在R中临时设置代理(替换为实际代理地址):
Sys.setenv(http_proxy = "http://代理地址:端口") Sys.setenv(https_proxy = "http://代理地址:端口")
安装完成后可取消代理:
Sys.unsetenv("http_proxy") Sys.unsetenv("https_proxy")
5. 安装Rtools解决源码编译问题
如果必须安装源码包,需为R 3.6.x安装对应版本的Rtools35:
- 安装时勾选"Add Rtools to system PATH"选项
- 重启R后再尝试执行包安装命令
内容的提问来源于stack exchange,提问作者양가람

