r - 气隙环境 - 安装 R 包源与二进制文件
问题描述
我们的办公室有一个 ubuntu linux 服务器,这是一个气隙环境。没有互联网访问外部网络。
但是我想安装几个 R 包,比如ggplot2, Database Connector, dplyr, Tidyverse
等。我有超过 10-15 个包要下载
虽然我不能编写通常的命令install.packages("DatabaseConnector")
,但我必须从 CRAN 下载压缩文件夹,如下所示。
我是 R 的新手。那么,你能帮我解决下面给出的问题吗?
a) 为什么 linux 系统没有文件?我只看到windows binaries
和macOS binaries
。我应该下载哪一个?
b)我应该下载binaries
还是package source
?哪一个容易安装?
zipped file
c) 当我从 CRAN下载像上面这样的包时,会自动下载依赖项吗?还是我应该查看错误消息并继续一一下载?
d) 由于我在气隙环境中工作,因此有效地执行此过程的最佳方法是什么。
解决方案
在 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 的包管理器。如何在气隙系统上做到这一点是另一个问题
推荐阅读
- jquery - 如何通过连接器以编程方式连接 Fabric.js 对象
- internet-connection - 在没有互联网连接的情况下使用 Vaadin Flow
- android - 自适应图标的 WebApp manifest.json
- file - dart:如何保存文件?
- assembly - Nasm 64 位 - 为什么输出以 ASCII 显示?
- attributes - 使用 StAX 找不到属性
- c# - 是什么让这些异步方法调用不同?
- ios - 当用户离开当前屏幕时,ARKit 应用应该做什么?
- algorithm - 每个递归算法都是分而治之的算法吗?
- python - 在线程化的 Python OpenCV 程序中是否有更好的方法来捕获密钥、Cttl-c 和杀死?