Linux环境下R3.5安装tidyverse包报错求助
解决Linux下R 3.5.x安装tidyverse的依赖兼容问题
一、R 3.5的重启方法
- 退出当前R会话:在R控制台输入
q(),按回车确认(无需保存工作空间选n) - 启动R 3.5:
- 若R 3.5安装在自定义路径(如
/usr/local/R-3.5.3/bin/R),终端直接执行该路径命令 - 若系统用
update-alternatives管理多R版本,终端执行sudo update-alternatives --config R,选择R 3.5的选项,之后输入R即可启动
- 若R 3.5安装在自定义路径(如
二、核心依赖兼容问题解决步骤
R 3.5.x属于旧版本,新版CRAN包大多要求R≥3.6,必须安装对应兼容的旧版本包:
1. 卸载冲突包
在R 3.5控制台执行:
remove.packages(c("vctrs", "rlang", "tidyr", "dtplyr", "tidyverse"))
2. 安装系统编译依赖
终端执行对应发行版命令:
- Ubuntu/Debian:
sudo apt-get install build-essential libcurl4-openssl-dev libssl-dev libxml2-dev - CentOS/RHEL:
sudo yum install gcc gcc-c++ make libcurl-devel openssl-devel libxml2-devel
3. 安装兼容版本的R包
首先安装适配R3.5的devtools版本(用于指定包版本安装):
install.packages("devtools", version = "2.4.2", repos = "http://cran.us.r-project.org")
如果上述命令失败,可手动下载devtools_2.4.2.tar.gz到本地,再执行:
install.packages("/path/to/devtools_2.4.2.tar.gz", repos = NULL, type = "source")
加载devtools后安装各依赖包的指定版本:
library(devtools) # 安装rlang 0.4.10(兼容R3.5且导出is_character) install_version("rlang", version = "0.4.10", repos = "http://cran.us.r-project.org") # 安装vctrs 0.3.6(适配tidyr旧版本) install_version("vctrs", version = "0.3.6", repos = "http://cran.us.r-project.org") # 安装tidyr 1.1.2(兼容vctrs 0.3.6和R3.5) install_version("tidyr", version = "1.1.2", repos = "http://cran.us.r-project.org") # 安装dtplyr 1.1.0(适配tidyverse旧版本) install_version("dtplyr", version = "1.1.0", repos = "http://cran.us.r-project.org") # 最后安装tidyverse 1.3.1(兼容R3.5) install_version("tidyverse", version = "1.3.1", repos = "http://cran.us.r-project.org")
4. 验证安装
在R 3.5控制台执行:
library(tidyverse)
无报错则安装成功。
内容的提问来源于stack exchange,提问作者Johnny
相关产品推荐
相关产品推荐

