You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何用devtools从GitHub获取R包?Ubuntu下证书验证失败求助

解决devtools安装GitHub包的证书验证错误 & 正确使用指南

一、修复"error setting certificate verify locations"错误

你遇到的这个证书路径错误,是因为Microsoft R自带的CA证书配置在Ubuntu系统下不兼容导致的,试试下面几个方法:

方法1:临时指定系统CA证书路径

Ubuntu系统的默认CA证书文件在/etc/ssl/certs/ca-certificates.crt,安装前先设置环境变量指向这个路径:

# 设置环境变量指定系统CA证书
Sys.setenv(CURL_CA_BUNDLE = "/etc/ssl/certs/ca-certificates.crt")
# 再执行安装命令
devtools::install_github("muschellij2/ms.lesion")

方法2:重新安装RCurl适配系统配置

你已经装了libcurl4-openssl-dev,可以卸载现有RCurl后重新从源码安装,让它自动适配Ubuntu的OpenSSL证书设置:

# 卸载旧的RCurl
remove.packages("RCurl")
# 从源码重新安装
install.packages("RCurl", type = "source")

重装完成后再尝试安装目标包,应该能解决证书问题。

方法3:临时跳过证书验证(仅测试用,不推荐)

如果上面的方法都没效果,作为临时测试方案可以关闭证书验证,但这会降低安全性,用完记得恢复设置:

# 设置忽略证书验证
options(download.file.method = "wget", download.file.extra = "--no-check-certificate")
# 执行安装
devtools::install_github("muschellij2/ms.lesion")
# 恢复默认设置
options(download.file.method = NULL)

二、使用devtools从GitHub安装R包的完整步骤

1. 先安装devtools(未安装的话)

如果你的环境还没有devtools,先从CRAN安装,Ubuntu系统需要先安装系统依赖库:

# 安装系统依赖(确保curl、ssl、xml的开发库都装了)
sudo apt-get install libcurl4-openssl-dev libssl-dev libxml2-dev

然后在R里安装devtools:

install.packages("devtools")
library(devtools)

2. 基础安装方法

直接指定GitHub仓库的「用户名/包名」即可安装最新版本:

devtools::install_github("muschellij2/ms.lesion")

3. 安装特定版本/分支

如果需要安装某个分支、标签版本或者特定commit,用ref参数指定:

  • 安装指定分支:
devtools::install_github("muschellij2/ms.lesion", ref = "dev")
  • 安装指定标签版本(比如v1.0.0):
devtools::install_github("muschellij2/ms.lesion", ref = "v1.0.0")
  • 安装指定commit哈希:
devtools::install_github("muschellij2/ms.lesion", ref = "a1b2c3d")

4. 控制依赖安装

默认情况下devtools会自动安装包的所有依赖,如果要跳过依赖(不推荐,可能导致包无法正常使用),可以加dependencies = FALSE

devtools::install_github("muschellij2/ms.lesion", dependencies = FALSE)

内容的提问来源于stack exchange,提问作者Kang Dong Ju

火山引擎 最新活动