r-在Ubuntu上安装软件包需要很长时间



我使用Windows作为操作系统,RStudio用于Windows,今天切换到Ubuntu,并再次安装R和RStudio。当我尝试使用install.packages()从CRAN(仅tidyverse!(安装一些软件包时,我在控制台上看到了一些我在Windows上从未见过的东西,看起来是这样的;

* installing *source* package ‘data.table’ ...
** package ‘data.table’ successfully unpacked and MD5 sums checked
** using staged installation
gcc -std=gnu99 9.3.0
zlib 1.2.11 is available ok
OpenMP supported
** libs
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-5iUtQS/r-base-4.0.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c assign.c -o assign.o
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG     -fopenmp -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-5iUtQS/r-base-4.0.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c between.c -o between.o

然后它继续这样,安装过程花费的时间比我在Windows上遇到的时间长得多。(包括大约7个包裹的tidyverse耗时30分钟(

这正常吗?如果不是,我该如何解决?

帮助解决问题的注释摘要。


通常,linux中的默认安装方法是type="source",这意味着任何具有非R源代码的包(例如C++、Fortran(都需要编译。此外,CRAN及其所有存储库镜像只提供windows和macos的二进制包。

似乎有两种方法可以在linux上安装二进制包,默认情况下是这样的:

  1. @duckmayr的阅读建议https://cran.r-project.org/bin/linux/ubuntu/README.html(其他linux发行版也有类似的页面(确定了如何设置CRAN2deb4ubuntu PPA,以便可以使用操作系统级别的软件管理apt(以及相关工具(。这些ubuntu/debian包保持良好且合理的最新状态,尽管更新频率远不如直接访问CRAN服务器。

    但是,您可以简单地为二进制安装运行这个命令,而不是长时间运行的R命令install.packages("tidyverse"),效果相同:

    $ sudo apt-get install r-cran-tidyverse
    

    不幸的是,PPA并没有包括提供给CRAN的每一个单独的软件包(因为这需要PPA维护人员付出巨大努力,努力跟上CRAN每天对新软件包和软件包更新的冲击……仅测试一项听起来就令人望而却步(。(在CRAN的16278个包中(截至30秒前(,PPA中建议的数量为4000+个包。

  2. 最近添加到存储库场景中的是RStudio的公共包管理器。在最近的一篇博客文章中,RStudio宣布它(至少(具有三个基本功能:

    • 通过install.packages访问Linux上的预编译包
    • CRAN的历史检查点实现可复制工作
    • 扩展了Windows对旧版本R的支持

    (这只是博客文章的一个小快照,我建议你阅读原文以了解更多细节和上下文。(

    快速搜索(Ubuntu 20.04 Focal的包(可以发现:15217个二进制包和16216个源代码包。

    借用RStudio的";设置";页面,对于Ubuntu 20.04 Focal,您可以使用将其设置为您的存储库

    options(repos = c(PkgMgr="https://packagemanager.rstudio.com/all/__linux__/focal/latest"))
    

    (我将其命名为"PkgMgr",这是任意的。您可能想要/需要更多的转发,请参阅?options?setRepository。这只是一个示例,为方便起见;请参阅RStudio的文档,了解如何为您的安装设置R。(

最新更新