无互联网访问权限时如何安装R语言的gert依赖包
离线环境安装R包gert的操作步骤
步骤1:选择匹配当前环境的libgit2预编译包
对应安装脚本的判断逻辑,先确认你的系统适用的libgit2版本:
- 检查是否为musl C库,运行终端命令:
ldd --version 2>&1 | grep musl
如果运行后有输出内容,说明是musl C库,不支持使用静态预编译libgit2,可通过安装系统libgit2开发包或手动编译libgit2源码后再安装gert;如果无输出,继续下一步。 - 检查OpenSSL版本,运行终端命令:
Rscript -e 'cat(openssl::openssl_config()$version)' | grep "OpenSSL 1.0"
如果运行后有输出内容,使用你提前下载解压好的libgit2-1.1.0.x86_64_legacy-linux.tar.gz的解压目录;否则使用libgit2-1.1.0.x86_64_linux.tar.gz的解压目录。
假设你将选中的libgit2文件夹放在绝对路径/opt/libgit2下,后续替换为你自己的实际路径即可。
步骤2:手动指定编译参数安装gert
提前下载好gert的源码包并上传到服务器,运行R命令完成安装:
install.packages( "你上传的gert源码包的绝对路径,比如/opt/gert_1.9.2.tar.gz", repos = NULL, type = "source", configure.vars = c( PKG_CFLAGS = "-DSTATIC_LIBGIT2 -I/opt/libgit2/include", PKG_LIBS = "-L/opt/libgit2/lib -lgit2 -lrt -lpthread -lssh2 -lssl -lcrypto -ldl -lpcre -lz" ) )
注意事项
- 安装前需提前离线装好gert的依赖R包:openssl、curl
- 如果安装时报系统库缺失,有root权限可直接安装对应系统库的开发包(如
libssh2-devel、pcre-devel等),无root权限则手动编译对应库后,将头文件和库文件路径补充到上述PKG_CFLAGS和PKG_LIBS参数中即可。
内容的提问来源于stack exchange,提问作者Michiru
相关产品推荐
相关产品推荐

