首页 > 解决方案 > 气隙环境 - 安装 R 包源与二进制文件

问题描述

我们的办公室有一个 ubuntu linux 服务器,这是一个气隙环境。没有互联网访问外部网络。

但是我想安装几个 R 包,比如ggplot2, Database Connector, dplyr, Tidyverse等。我有超过 10-15 个包要下载

虽然我不能编写通常的命令install.packages("DatabaseConnector"),但我必须从 CRAN 下载压缩文件夹,如下所示

我是 R 的新手。那么,你能帮我解决下面给出的问题吗?

a) 为什么 linux 系统没有文件?我只看到windows binariesmacOS binaries。我应该下载哪一个?

b)我应该下载binaries还是package source?哪一个容易安装?

zipped filec) 当我从 CRAN下载像上面这样的包时会自动下载依赖项吗?还是我应该查看错误消息并继续一一下载?

d) 由于我在气隙环境中工作,因此有效地执行此过程的最佳方法是什么。

标签: rggplot2dplyrtidyverseinstall.packages

解决方案


在 linux 下,软件包总是从源代码安装。没有用于 linux 的官方二进制包。但是,您的发行版可能会在官方存储库中提供其中一些。Ubuntu 可以。然而,这些往往是相当旧的版本,通常仅限于少数最重要的软件包。因此,对于 linux,您必须下载源包。zip 文件适用于 Windows,无法使用。

您还需要下载软件包的所有依赖项。对于像 tidyverse 这样的东西,这将是一个巨大的数字。手动跟踪这些工作量很大。最简单的可能是在气隙系统之外使用像 miniCRAN 这样的包来构建 CRAN 的选择性副本。您可以指定所需的包,该包将下载所有依赖项。然后,您可以将下载的目录复制到您的服务器,指向install.packages正确的方向并像往常一样使用install.packages. 有关详细信息,请参阅https://andrie.github.io/miniCRAN/articles/miniCRAN-introduction.html

您可能还会遇到系统没有构建所有软件包所需的所有依赖项的问题。在 ubuntu 下,您需要例如安装libxml2-dev才能安装xml软件包。为此,您需要使用 ubuntu 的包管理器。如何在气隙系统上做到这一点是另一个问题


推荐阅读