如何在没有互联网的情况下在 ubuntu 上安装 R 箭头包的库?

问题描述

我正在研究 Azure 数据块,它的计算服务器是 Ubuntu 18.04。由于安全原因,我想安装 arrow R 包但无法访问互联网。我在可以访问互联网的 MacBook 上下载了箭头 tar 文件,并在 ubuntu 中提供了手动安装。我执行了以下步骤:

  1. 通过从此链接下载并上传到 ubuntu 并执行以下 bash 命令以使其可用来重新安装 build-essentialsudo dpkg -i /dbfs/FileStore/tables/build_essential_12_4ubuntu1_amd64.deb
  2. 安装了 cpp11,因为它是对 cran 的依赖:R CMD INSTALL /dbfs/FileStore/tables/arrow_dir/cpp11_0_3_1.tar.gz
  3. here 下载了 arrow_4.0.1.tar.gz 并在 ubuntu 上提供。
  4. Here 在安装箭头包之前,我看到必需的 C++ 依赖项 在 ubuntu 上可用。如何在无法访问互联网的情况下安装这些依赖项?

感谢您阅读我的问题。

注意:下面建议了一个解决方案,在执行 ./thirdparty/download_dependencies.sh $HOME/arrow-thirdparty 后我得到:

# Environment variables for offline Arrow build
export ARROW_ABSL_URL=/root/arrow-thirdparty/absl-0f3bb466b868b523cf1dc9b2aaaed65c77b28862.tar.gz
export ARROW_AWSSDK_URL=/root/arrow-thirdparty/aws-sdk-cpp-1.8.133.tar.gz
export ARROW_AWS_CHECKSUMS_URL=/root/arrow-thirdparty/aws-checksums-v0.1.10
export ARROW_AWS_C_COMMON_URL=/root/arrow-thirdparty/aws-c-common-v0.5.10.tar.gz
export ARROW_AWS_C_EVENT_STREAM_URL=/root/arrow-thirdparty/aws-c-event-stream-v0.1.5
export ARROW_BOOST_URL=/root/arrow-thirdparty/boost-1.75.0.tar.gz
export ARROW_broTLI_URL=/root/arrow-thirdparty/brotli-v1.0.9.tar.gz
export ARROW_BZIP2_URL=/root/arrow-thirdparty/bzip2-1.0.8.tar.gz
export ARROW_CARES_URL=/root/arrow-thirdparty/cares-1.17.1.tar.gz
export ARROW_GBENCHMARK_URL=/root/arrow-thirdparty/gbenchmark-v1.5.2.tar.gz
export ARROW_GFLAGS_URL=/root/arrow-thirdparty/gflags-v2.2.2.tar.gz
export ARROW_GLOG_URL=/root/arrow-thirdparty/glog-v0.4.0.tar.gz
export ARROW_GRPC_URL=/root/arrow-thirdparty/grpc-v1.35.0.tar.gz
export ARROW_GTEST_URL=/root/arrow-thirdparty/gtest-1.10.0.tar.gz
export ARROW_JEMALLOC_URL=/root/arrow-thirdparty/jemalloc-5.2.1.tar.bz2
export ARROW_LZ4_URL=/root/arrow-thirdparty/lz4-v1.9.3.tar.gz
export ARROW_MIMALLOC_URL=/root/arrow-thirdparty/mimalloc-v1.7.2.tar.gz
export ARROW_ORC_URL=/root/arrow-thirdparty/orc-1.6.6.tar.gz
Failed downloading https://github.com/google/protobuf/releases/download/v3.14.0/protobuf-all-3.14.0.tar.gz

解决方法

使用下面链接中提到的脚本下载依赖项并将它们放在可以安装的地方是否有帮助?

这里有一些说明:https://arrow.apache.org/docs/developers/cpp/building.html#offline-builds

我已将它们粘贴在下方以防链接过期,但您可能需要查看这些说明的最新版本。

要启用离线构建,您可以自己下载源工件并使用 ARROW_$LIBRARY_URL 形式的环境变量来指示构建系统从本地文件中读取数据,而不是访问互联网。

为了让您更轻松,我们准备了一个脚本thirdparty/download_dependencies.sh,它将每个依赖项的正确版本下载到您选择的目录中。它将在最后打印一个 bash 风格的环境变量语句列表,用于您的构建脚本。

# Download tarballs into $HOME/arrow-thirdparty
$ ./thirdparty/download_dependencies.sh $HOME/arrow-thirdparty

然后您可以调用 CMake 来创建构建目录,它会使用声明的环境变量指向下载的档案,而不是下载它们(每个构建目录一个!)。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...