R 3.5.0 无法在 Ubuntu 18.04 上运行

R 3.5.0 无法在 Ubuntu 18.04 上运行

我刚刚在我的测试笔记本上安装了 Ubuntu 18.04。全新安装(选择“最小”选项)。我做的前两件事是安装R 3.5R Studio 1.1.453。如果我打开全新安装的 R 并让它闲置 30 分钟左右,我最终会收到错误"Error: Unable to establish connection with R session"

此时我无法做任何事情R Studio,我必须xkill重新加载所有内容才能继续编程。互联网搜索显示,自从人们在使用 GNOME 的 Ubuntu 机器上安装以来,这个问题就一直反复出现R/R Studio。我不确定 GNOME 是否是根本原因,但这很有趣。

有人解决了这个问题吗?或者也许您可以在 Ubuntu 18.04 上顺利运行 R 3.5,没有任何问题。请告诉我。我只能运行 30 分钟左右,然后这个问题就导致我的系统崩溃。而且我的系统是全新安装的 Bionic Beaver,上面只有 R。很奇怪。

------ 对于那些想知道 ------

R 的安装是通过

sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/"
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
sudo apt-get update
sudo apt-get install r-base r-base-dev

R Studio 是通过 Ubuntu 软件中心的此链接安装的 https://download1.rstudio.org/rstudio-xenial-1.1.453-amd64.deb

并且据推测 R Studio 的预览版可能会修复此问题(有待确定) https://s3.amazonaws.com/rstudio-ide-build/desktop/trusty/amd64/rstudio-1.2.792-amd64.deb

答案1

现在CRAN 镜像默认提供 R 3.6。

为了在 Ubuntu 18.04 LTS 上获取 R 3.5,我们需要添加 CRAN 存储库:

sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/"
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
sudo apt-get update

然后使用单个长命令将 APT 调整为 CRAN 存储库的 R 3.5.x 版本的最高优先级:

cat <<EOF | sudo tee /etc/apt/preferences.d/pin-r35
Package: r-*
Pin: release a=bionic-cran35
Pin: version 3.5*
Pin-Priority: 800

Package: r-cran-nlme
Pin: release a=bionic-cran35
Pin: version 3.1.139-1bionic0
Pin-Priority: 800

Package: r-cran-cluster
Pin: release a=bionic-cran35
Pin: version 2.0.8-1bionic0
Pin-Priority: 800
EOF

然后使用以下命令安装 R 3.5:

sudo apt-get install r-base r-base-dev

最后检查 R 版本是否为 3.5:

$ R

R version 3.5.3 (2019-03-11) -- "Great Truth"

笔记:

  1. 我已经在干净的 Ubuntu 18.04 LTS VM 上检查了此方法,并安装了两个必备的 R 包 -r-baser-base-dev(及其依赖项)。
  2. 如果您想恢复到 R 3.6 - 那么只需删除 pin/lock 文件sudo rm /etc/apt/preferences.d/pin-r35并运行sudo apt-get dist-upgrade即可获取最新的依赖项。
  3. 对于 Ubuntu 16.04 LTS,方法非常相似 - 请参阅我的其他答案

答案2

我认为我做过按照你的步骤操作。我尽我所能“清理”了我的系统(如前所述;见下文),然后

sudo apt-get install r-base

这似乎(正如我之前在 Ubuntu Mate 社区列表中所说的那样,您告诉我将讨论切换到此位置)运行时没有任何抱怨,但没有生成可执行文件。

我试过

dpkg -l | grep "^ii -r"

刚才按照你的例子,什么输出都没有。所以看起来“dpkg”认为 r-base 还没有安装。

但是“sudo apt-get install r-base”的输出似乎表明它已安装。发生了什么事?

补充:我已经解决了这个问题。在其他地方有人建议我尝试做

dpkg -l r-基础核心

这产生了启发性的输出:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-  pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name             Version       Architecture  Description
+++-================-=============-=============-======================================
ii  r-base-core      3.5.2-1bionic amd64         GNU R core of statistical computation

这条信息的性质促使我尝试

sudo apt purge r-base-core

运行后显示删除了大量内容。

然后我尝试

 sudo apt-get install r-base-core

它运行后输出的结果比我之前运行“sudo apt-get install r-base”时输出的结果要多得多。(注意:我之前一直在输入 r-base并不是r-base-核心)这表明,它正在做很多事情,实际上看起来很有希望安装R.

事实上,承诺已经兑现。然后我启动了 R,得到了:

R version 3.5.2 (2018-12-20) -- "Eggshell Igloo"
Copyright (C) 2018 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

哒哒!!!

问题可能是我之前一直在说

“sudo apt-get install r-base”,而不是

“sudo apt-get 安装 r-base-core”。

如果之前已经从源代码安装了 R,则可能需要后者,否则只需“r-base”就足够了。我对此了解不够。其他人可能会提供见解。

相关内容