非ROOT用户远程服务器安装R包devtools遇libgit2相关错误求助
解决非ROOT用户安装devtools失败的问题
核心问题拆解
你遇到的两个关键障碍:
- 下载依赖脚本时出现SSL连接重置错误
- 编译阶段缺失
git2.h头文件,说明系统未正确安装或无法找到libgit2库
分步解决方案
1. 非ROOT权限下手动编译安装libgit2
在用户专属目录下编译安装libgit2,避免权限限制:
- 下载稳定版libgit2源码包:
cd ~ wget https://github.com/libgit2/libgit2/archive/refs/tags/v1.7.1.tar.gz tar -zxf v1.7.1.tar.gz cd libgit2-1.7.1 - 指定安装路径并编译:
mkdir build && cd build cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/local make make install
2. 配置环境变量,让R识别libgit2
执行以下命令临时生效,若需永久生效可写入~/.bashrc或~/.zshrc:
export PKG_CONFIG_PATH=$HOME/local/lib/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
3. 规避SSL问题,通过国内镜像安装devtools
打开R控制台,优先安装二进制包避免编译:
options(repos = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) install.packages("devtools", type = "binary")
若必须安装源码包,确保环境变量生效后执行:
install.packages("devtools")
4. 备选方案:手动下载源码包本地安装
若SSL问题仍存在,直接下载devtools源码包后本地安装:
- 终端下载源码:
wget https://cran.r-project.org/src/contrib/devtools_2.4.5.tar.gz - R内本地安装:
install.packages("devtools_2.4.5.tar.gz", repos = NULL, type = "source")
内容的提问来源于stack exchange,提问作者Nicolas Fong
相关产品推荐
相关产品推荐

