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

标签 r installation

我使用 Windows 作为操作系统和 RStudio for windows,今天切换到 Ubuntu 并再次安装 R 和 RStudio。当我尝试使用 tidyverse 从 CRAN 安装一些软件包(仅 install.packages() !)时,我在控制台上看到了一些我在 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 上遇到的时间要长得多。 ( tidyverse 包含大约 7 个包,耗时 30 分钟)
这正常吗?如果不是,我该如何解决?

最佳答案

有助于解决问题的评论摘要。

一般来说,linux中默认的安装方式是 type="source" ,这意味着任何非R源代码的包(例如C++、Fortran)都需要编译。此外,CRAN 及其所有存储库镜像仅提供二进制包 windows 和 macos。
似乎有两种方法可以在 linux 上安装二进制包,副默认值:

  • @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 每天对新包和包更新的冲击......单独测试听起来禁止)。 (建议的数量是 PPA 中的 4000 多个包,在 CRAN 的 16,278 个包中(截至 30 秒前)。
  • 最近添加到存储库场景的是 RStudio 的 Public Package Manager 。在最近的一篇博客文章中,RStudio 宣布它具有(至少)三个基本功能:
  • 通过 install.packages 访问 Linux 上的预编译包 ...
  • 启用可重复工作的 CRAN 历史检查点 ...
  • 扩展了对旧版本 R 的 Windows 支持...

  • (这只是博客文章的一小部分,我建议您阅读原文以获取更多详细信息和上下文。)
    快速搜索(Ubuntu 20.04 Focal 的包)显示:15,217 个二进制包和 16,216 个源包。
    借用 RStudio 的 "Setup" 页面,对于 Ubuntu 20.04 Focal,您可以将其设置为您的存储库
    options(repos = c(PkgMgr="https://packagemanager.rstudio.com/all/__linux__/focal/latest"))
    
    (我将其命名为“PkgMgr”,这是任意的。您可能想要/需要更多的存储库,请参阅 ?options ?setRepository 。这只是一个示例,为方便起见;请参阅 RStudio 的文档以了解如何设置 R供您安装。)

    关于r - 在 Ubuntu 上安装软件包需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63820701/

    相关文章:

    r - 如何使用 ddply 对特定列的数据进行子集化?

    ide - 如何将 Notepad++ 扩展为 R 的 IDE?

    html - Plotly 无法在 Shiny 的 HTML 功能中工作

    r - 将应用函数的结果存储在新列中

    ios - Apple Watch,无法安装 XXX,错误 : Application Verification Failed

    php - 我的 Prestashop 1.5.6 在最后一步安装时卡住

    macos - swi-prolog 中止(通过自制软件安装后)

    R 包不会安装在 Jupyter Notebook 中,但会安装在 RStudio 和 R 应用程序中

    ruby - RVM 安装失败,似乎没有修复工作

    python - 无法安装 jaxlib