在 Ubuntu 16.04 上将 R 版本从 3.4.4 升级到 3.5.3

Upgrade R version from 3.4.4 to 3.5.3 on Ubuntu 16.04

当我们 ssh 到这个 Linux 服务器上时,它显示 Welcome to Ubuntu 16.04.7 LTS (GNU/Linux 4.4.0-193-generic x86_64),所以这就是我们所在的服务器类型。

当我们运行R从终端在服务器中启动R,然后version,我们得到:

从 3.4.4 版升级到 3.5.3 版最简单的方法是什么?在确保 R v4 上的代码库没有重大问题之前,我们还不想升级到 v4 或最新版本,但是我们希望升级到 3.5.3,这样我们就可以 运行需要 3.5.3+ 的 R 库。

我们如何从服务器上的命令行执行此操作,从 3.4.4 切换到 3.5.3 后,我们是否还需要在服务器上重新安装所有 R 库?我担心如果我从命令行启动 运行ning 东西,我搞砸了我会破坏我们当前的 R 应用程序。

如果这个 OS release/R 版本组合有可用的 .deb,我会感到惊讶。

  • This page 仅提供 R 4.1,但早在 16.04 LTS
  • This page 提供较旧的 R 版本,但只能回到 18.04 LTS
  • Debian packages page 上的一个反向移植也有可能在您的系统上运行(它报告说 3.5.3 可用于 Debian“jessie”,尽管我不知道它与Ubuntu 发布)。

我想这些 .debs 之一可能适用于您的系统……?如果你确实从 .deb 安装,你可能必须小心不要破坏你当前的版本(例如,使用 dpkg--instdir 参数)。

从源构建:

  • 下载 source tarball for R 3.5.3
  • untar、./configuremakesudo make install(假设你拥有所有必要的开发工具、系统库等;你将不得不troubleshoot/install随着你的前进)
    • 可能值得 ./configure --prefix=/path/to/testdir 将新版本放在 完全 单独的位置,只是为了确保您不会破坏当前的安装. (这也将简化下面的库路径内容。)

切换主要版本时确实需要重新安装软件包(例如 3.4.x 到 3.5.x);一种方法是将包的系统库复制到新位置(根据需要调整库路径;参见 R installation and administration manual)。

然后,您应该可以update.packages(checkBuilt=TRUE, ask=FALSE)更新所有内容。

棘手的地方是 (1) 获得正确的库路径(这在一定程度上取决于您现有安装中的设置方式;(2) 可以想象一些 current CRAN 上的软件包版本将无法 re-install/re-build 在 R 3.5.3 下。devtools::install_version() 会有所帮助,尽管您必须手动查找正确的版本。我记得有人发布了一个软件包将在日期之前安装一个存档版本,这可以节省大量的时间...