Ubuntu 16.04系统下将R从3.4.4升级到3.5.3的操作咨询
Ubuntu 16.04.7 环境下R 3.4.4升级到3.5.3操作指南
升级方案1:替换系统默认R版本(操作最简)
前置备份(防止现有应用故障)
先完成备份再操作,出现问题可直接回滚:
- 导出当前已安装R包列表:
启动R终端后执行:
installed_packages <- rownames(installed.packages()) saveRDS(installed_packages, "~/r344_packages.rds")
退出R终端后,备份现有R安装目录和个人库目录:
sudo cp -r /usr/lib/R /usr/lib/R344_backup cp -r ~/R/x86_64-pc-linux-gnu-library/3.4 ~/r344_library_backup
升级操作步骤
- 添加CRAN R3.5系列源和对应公钥
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu xenial-cran35/'
- 更新源并安装R 3.5.3
sudo apt update sudo apt install r-base r-base-dev
- 验证版本:启动R终端执行
version,确认返回版本号为3.5.3即可。
升级方案2:独立安装R 3.5.3(不影响现有R环境)
如果不想替换系统默认的R 3.4.4,避免影响现有运行的R应用,可选择编译安装到独立目录,两个版本完全隔离:
- 安装编译依赖
sudo apt build-dep r-base
- 下载R 3.5.3源码包并解压
wget https://cran.r-project.org/src/base/R-3/R-3.5.3.tar.gz tar -zxvf R-3.5.3.tar.gz cd R-3.5.3
- 编译安装到指定目录
./configure --prefix=/opt/R353 --enable-R-shlib make && sudo make install
- 使用方式:需要用到R 3.5.3时直接调用绝对路径即可,不会修改系统默认R指向:
/opt/R353/bin/R
常见问题说明
- 升级后是否需要重新安装R库?
R 3.4.x和3.5.x的ABI不兼容,原有3.4版本安装的第三方库无法直接在3.5.3上运行,必须重新安装。你可以用之前备份的包列表批量安装,无需手动逐个处理:
启动R 3.5.3终端后执行:
installed_packages <- readRDS("~/r344_packages.rds") install.packages(installed_packages)
- 如何回滚到原有R 3.4.4版本?
如果是走方案1替换了系统版本,直接将备份的/usr/lib/R344_backup覆盖回/usr/lib/R即可恢复原有环境。如果是方案2直接删除/opt/R353目录即可,完全不影响原有环境。
内容的提问来源于stack exchange,提问作者Canovice
相关产品推荐
相关产品推荐

