我刚刚在我的测试笔记本上安装了 Ubuntu 18.04。全新安装(选择“最小”选项)。我做的前两件事是安装R 3.5
和R 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"
笔记:
- 我已经在干净的 Ubuntu 18.04 LTS VM 上检查了此方法,并安装了两个必备的 R 包 -
r-base
和r-base-dev
(及其依赖项)。 - 如果您想恢复到 R 3.6 - 那么只需删除 pin/lock 文件
sudo rm /etc/apt/preferences.d/pin-r35
并运行sudo apt-get dist-upgrade
即可获取最新的依赖项。 - 对于 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”就足够了。我对此了解不够。其他人可能会提供见解。