GitHub Action中R包curl因缺失libcurl安装失败求助
解决GitHub Action中R包curl安装失败(缺少libcurl)的问题
核心原因
GitHub Action使用的Ubuntu runner默认未安装libcurl的开发依赖包,而R的curl包需要从源码编译,必须依赖该系统库才能完成安装。
解决方案
方法1:在GitHub Action工作流中添加系统依赖安装步骤
直接在你的publish.yml里,在设置R环境之前,新增一步安装系统级的libcurl开发包:
steps: - name: 拉取代码仓库 uses: actions/checkout@v4 # 新增这一步安装系统依赖 - name: 安装系统依赖库 run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev - name: 设置R环境 uses: r-lib/actions/setup-r@v2 with: r-version: '4.4.3' # 后续的renv restore等步骤...
补充说明
- 该步骤会先更新Ubuntu软件源,再安装
libcurl4-openssl-dev(Debian/Ubuntu系统下libcurl的官方开发包) - 必须将此步骤放在设置R环境和执行renv restore之前,确保编译R包时系统库已就绪
为什么之前的方案无效?
你仅修改了R版本,但未解决底层系统库缺失的问题。R的curl包并非预编译二进制包,需要在运行时从源码编译,而编译过程必须依赖系统提供的libcurl头文件和库文件,缺失这些文件就会导致编译失败。
内容的提问来源于stack exchange,提问作者albeit2
相关产品推荐
相关产品推荐

