![继续需要您自担风险。](https://linux22.com/image/1155867/%E7%BB%A7%E7%BB%AD%E9%9C%80%E8%A6%81%E6%82%A8%E8%87%AA%E6%8B%85%E9%A3%8E%E9%99%A9%E3%80%82.png)
Ubuntu Xenial (16.04) 的 R 3.5.0 安装包尚未出现在 ubuntu 镜像站点上。是否有其他方法可以在 ubuntu xenial 上将 R 更新到 3.5.0?或者,是否有其他方法可以将 R 更新到 3.5.0?
答案1
R 3.5 目前仅可从 PPA 获得,因为某些 CRAN 软件包在使用 R 3.5 构建时存在问题。
继续需要您自担风险。
对我有用的程序是:
从系统中删除所有
r-cran-*
软件包(YMMV,我通常从源代码安装软件包,并且这些软件包很少)- 搜索
dpkg -l | grep r-cran-
- 搜索
-
sudo add-apt-repository ppa:marutter/rrutter3.5 sudo apt-get update
升级R
sudo apt install r-api-3.5
从源代码(通过到个人或站点库
install.packages()
)或通过安装相应的r-cran-*
Ubuntu 包来安装您需要的所有包。我使用以下脚本从我的个人站点库中重新安装 R 3.4 的所有软件包:
installed <- rownames(installed.packages()) pkgs <- dir("~/R/x86_64-pc-linux-gnu-library/3.4") new <- setdiff(pkgs, installed) new install.packages(new)
如果你有一台具有多个 CPU 的机器,你可以加快该过程,例如:
install.packages(new, Ncpus = 6)
参考
Dirk Eddelbuettel 的回复请参阅 R-SIG-Debian 邮件列表中的类似询问
答案2
自 6 月初 @krlmlr 回复以来,CRAN 网站已经更新:https://cran.r-project.org/bin/linux/ubuntu/。
CRAN 说明有几个步骤,但总结是该sources.list
文件应引用特定于版本 3.5.x 和 3.6.x 的存储库。条目类似于
deb https://cloud.r-project.org/bin/linux/ubuntu xenial-cran35/
而不是之前的(无版本)条目
deb https://cloud.r-project.org/bin/linux/ubuntu xenial/
来自网站的相关描述(最终会改变):
适用于 i386 和 amd64 上的 Ubuntu 的 R 3.6 软件包可用于大多数稳定的 Ubuntu 桌面版本,直到其正式终止使用日期。但是,只有最新的长期支持 (LTS) 版本才完全受支持。截至 2018 年 11 月 18 日,受支持的版本包括 Xenial Xerus (16.04; LTS)、Trusty Tahr (14.04; LTS)、Bionic Beaver (18.04;LTS)、Cosmic Cuttlefish (18.10) 和 Disco Dingo (19.04)。请注意,要安装 R 3.6 软件包,需要不同的 sources.list 条目。有关详细信息,请参阅下文。尽管 R 已升级到 3.6 版,但为了兼容,sources.list 条目仍使用 cran3.5 名称。
编辑2019-05-13:上个月发布的 R 3.6.0 的更新。
答案3
xenial-cran35/
如果您在 apt 中设置了“默认版本”,那么 repo 的版本将无法工作,一些在 Ubuntu 上运行的发行版(如 Mint)就是这种情况。对于我的 Mint 发行版,存在一个文件,其中/etc/apt/apt.conf.d/01ubuntu
声明了Default-Release "xenial";
这意味着,由于 r-base 存在于 ubuntu repo 的版本 3.2 中,版本为“xenial”,它永远不会使用其他 repo 的 3.6 分支,因为该 repo 的版本名称是“xenial-cran35”。您需要编辑该文件以将默认版本更改为“xenail-cran35”,或者使用 apt 首选项文件 (https://wiki.debian.org/AptPreferences#A.2Fetc.2Fapt.2Fpreferences)。
这基本上是 R 的错误,因为它的 repo 格式很差。他们应该有 2 个 repo,每个 repo 都有一个“xenial”发布文件夹,一个 URL 用于 3.2 分支工作,另一个用于 3.5+ 分支工作。但他们却只有一个 repo,而是将“发布名称”弄混了,这恰好适用于基本 Ubuntu,但如果您以这种方式使用非基本 apt 配置,它将无法工作。
答案4
目前需要像这样完成:
sudo apt purge r-base* r-recommended r-cran-*
sudo apt autoremove
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 E298A3A825C0D65DFD57CBB651716619E084DAB9
sudo apt update
sudo apt install r-base-dev
'bionic' 可以更改为您的 ubuntu 版本;检查 R 文档:https://cran.r-project.org/bin/linux/ubuntu/