我之前使用 Windows 作为操作系统,RStudio 用于 Windows,今天切换到 Ubuntu 并再次安装了 R 和 RStudio。当我尝试从 CRAN 安装一些软件包时(仅tidyverse
!) 使用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 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公共包管理器 https://packagemanager.rstudio.com。在最近的一篇博客文章中,RStudio 宣布它(至少)具有三个基本功能:
- 通过以下方式访问 Linux 上的预编译包
install.packages
...
- CRAN 的历史检查点可实现可重复的工作...
- 扩展了 Windows 对旧版本 R 的支持...
(这只是博客文章的一小部分,我建议您阅读原文以获取更多详细信息和上下文。)
快速搜索(Ubuntu 20.04 Focal 的软件包)显示:15,217 个二进制软件包和 16,216 个源软件包。
从 RStudio 借用"Setup" https://packagemanager.rstudio.com/client/#/repos/1/overview页面,对于 Ubuntu 20.04 Focal,您可以将其设置为您的存储库
options(repos = c(PkgMgr="https://packagemanager.rstudio.com/all/__linux__/focal/latest"))
(我将其命名为“PkgMgr”,这是任意的。您可能想要/需要更多存储库,交给您,请参阅?options https://stat.ethz.ch/R-manual/R-devel/library/base/html/options.html and ?setRepository https://stat.ethz.ch/R-manual/R-devel/library/utils/html/setRepositories.html。这只是一个示例,为方便起见而提供;请访问 RStudio 文档,了解如何为您的安装设置 R。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)