Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在Ubuntu上安装软件包需要很长时间_R_Installation - Fatal编程技术网

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

R 在Ubuntu上安装软件包需要很长时间,r,installation,R,Installation,我使用Windows作为操作系统和RStudio for Windows,今天切换到Ubuntu并再次安装了R和RStudio。当我尝试使用install.packages()从CRAN(仅tidyverse!)安装一些软件包时,我在控制台上看到了一些在Windows上从未见过的东西,它看起来是这样的 * installing *source* package ‘data.table’ ... ** package ‘data.table’ successfully unpacked and M

我使用Windows作为操作系统和RStudio for 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上遇到的时间要长得多。(
tidyverse
包含约七个包裹,耗时30分钟)


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

帮助解决问题的评论摘要


一般来说,Linux中的默认安装方法是 type =“源”< /C>,这意味着需要编译任何带有非R源代码的包(例如,C++、FORTRAN)。此外,CRAN及其所有存储库镜像只提供windows和macos的二进制软件包

默认情况下,在linux上安装二进制软件包有两种方法:

  • @duckmayr的阅读建议(其他linux发行版也有类似的页面)确定了如何设置CRAN2deb4ubuntu PPA,以便可以使用操作系统级软件管理
    apt
    (和相关工具)。这些ubuntu/debian软件包得到了良好的维护,并且相当及时,尽管更新频率不如CRAN服务器那么高

    但是,您不需要长时间运行R命令install.packages(“tidyverse”),只需为二进制安装运行此命令,效果相同:

    $sudo apt get安装r-cran-tidyverse
    
    不幸的是,PPA不包括提供给CRAN的每一个单独的贡献包(因为PPA维护人员需要付出巨大的努力,试图跟上CRAN每天对新包和包更新的冲击……仅测试一项就听起来令人望而却步)。(PPA中建议的数量为4000多个包,而CRAN的16278个包(截至30秒前)

  • 最近添加到存储库场景的是RStudio。在最近的一篇博文中,RStudio宣布它(至少)具有三个基本功能:

    • 通过
      install.packages
      …访问Linux上的预编译包
    • 实现可复制工作的CRAN历史检查点
    • 扩展Windows对旧版本R
    (这只是这篇博文的一个小快照,我建议你阅读原文以了解更多细节和上下文。)

    快速搜索(Ubuntu20.04Focal的包)会发现:15217个二进制包和16216个源包

    借用RStudio的页面,对于ubuntu20.04focal,您可以使用

    选项(repos=c(PkgMgr=)https://packagemanager.rstudio.com/all/__linux__/focal/latest")) (我将其命名为“PkgMgr”,这是任意的。您可能想要/需要更多回购,请参阅和。这只是一个示例,为方便起见提供;请访问RStudio的文档,了解如何为您的安装设置R。)


  • 默认情况下,windows上的R安装二进制软件包(不需要编译),linux上的R安装源软件包(需要编译)。感谢提供信息,是否有办法缩短安装时间?@r2evans解释了您收到这些消息的原因;我建议您查看一些信息,了解如何在不需要编译的情况下安装此类软件包。只需进行一些简单的设置,您就可以将其作为二进制软件包安装(无需编译)使用Ubuntu的软件包管理器,而不是从R安装(例如,你可以做
    sudo apt install R-cran-tidyverse
    来安装
    tidyverse
    install.packages(“tidyverse”)
    Yes…请看。它实际上是一个cran镜像,但对于linux二进制软件包来说(这在CRAN mirrors上通常不可用)。@r2evans我无法解释我有多感激,完全解决了我的问题。现在安装软件包需要时间,就像Windows需要时间一样!!!!!