适用于Ubuntu的R 3.5.0


23

Ubuntu Xenial(16.04)的R 3.5.0安装包在ubuntu镜像站点上尚不存在。是否有其他方法可以将ubuntu xenial上的R更新到3.5.0?另外,是否有其他方法可以将R更新到3.5.0?


1
您看过本演练了吗?作者没有在任何地方明确声明它,但是这些是安装3.5的说明
Hee Jin


1
@Emily:链接到的演练是关于从源代码安装R。
krlmlr

1
@valiano:这回答了一个不同的问题。
krlmlr

Answers:


24

R 3.5当前仅可从PPA获得,因为某些CRAN软件包在使用R 3.5编译时存在问题。

继续需要您自担风险。

对我有用的过程是:

  1. r-cran-*从您的系统中删除所有软件包(YMMV,我通常是从源代码安装软件包,而这些软件包很少)

    • 搜索 dpkg -l | grep r-cran-
  2. 添加Michael Rutter的PPA

    sudo add-apt-repository ppa:marutter/rrutter3.5
    sudo apt-get update
    
  3. 升级R

    sudo apt install r-api-3.5
    
  4. 从源(通过到个人或站点库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)
    

参考文献


3
上面的方法对我来说完全正确。(感谢Krlmlr。)对于那些没有使用Ubuntu的人,还有两个建议:1.使用以下命令删除以前的r-cran- *软件包:sudo apt-get remove r-cran- * 2.添加Michael Rutter的PPA后,请记住运行: sudo易于得到更新
拉里-

上面的方法对我来说完全正确。(感谢Krlmlr。)对于那些没有使用Ubuntu的人,还有两个建议:1.使用以下命令删除以前的r-cran- *软件包:sudo apt-get remove r-cran- * 2.添加Michael Rutter的PPA后,请记住运行: sudo在运行之前获取更新:sudo apt install r-api-3.5
Larry

@拉里:谢谢。你可以编辑帖子吗?
krlmlr

@krlmlr我建议您Ncpus = 6从答案中删除。这可能会导致意外的速度降低,特别是对于以下人员:(i)在复制/粘贴之前未完全阅读代码;(ii)将在个人计算机上执行此操作。答案也不需要该选项。
fridaymeetssunday

1
@fridaymeetssunday:添加了评论。同意Ncpus = 6在较弱的计算机上运行速度可能很慢,但是在没有至少扫描代码的情况下,没有人应该复制粘贴。
krlmlr

13

自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。


2

xenial-cran35/回购协议的版本不工作,如果你有一个容易“默认版本”组,这在一些发行版的情况是在Ubuntu之上,如薄荷工作。对于我的Mint发行版,存在一个文件/etc/apt/apt.conf.d/01ubuntu,其中声明了Default-Release "xenial"; 。这意味着,由于r-base存在于版本为“ xenial”的版本3.2的ubuntu存储库中,因此它将永远不会使用其他回购,因为该回购的发行版名称是“ xenial-cran35”。您需要编辑该文件,以将默认发行版更改为“ xenail-cran35”,或者使用apt首选项文件(https://wiki.debian.org/AptPreferences#A.2Fetc.2Fapt.2Fpreferences)进行。

基本上,这是R的错误,因为它具有格式错误的存储库。他们应该有2个存储库,每个存储库都有一个“ xenial”发布文件夹,一个URL用于其3.2分支工作,一个URL用于3.5+分支工作。取而代之的是,它们有一个存储库,并且混用了“发行名称”,这恰好适用于基本Ubuntu,但是如果您以这种方式具有apt的非基本配置,则不会起作用。


0

当前需要这样做:

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/

/programming//a/56378217/4549682

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.