GitHub Actions安装R包'sf'失败:gdal-config未找到或不可执行的问题求助
GitHub Actions安装R包'sf'失败:gdal-config未找到或不可执行的问题求助
我太懂你这种卡壳的感觉了——用GitHub Actions自动化更新GitHub Pages,结果卡在sf包的安装上,就因为底层的gdal工具找不到。我之前在macos环境里部署R地理空间项目时也踩过这个坑,给你两个靠谱的解决思路:
方案1:先补装系统级地理空间依赖(最直接见效)
sf包依赖GDAL、GEOS、PROJ这几个底层的地理空间库,而GitHub Actions的macos-latest runner默认是没预装这些的。你可以借助macos自带的Homebrew先把这些工具装上,再去安装R包sf。
修改你的workflow.yml文件,在「Install packages」步骤之前新增一个步骤:
- name: 安装sf依赖的系统级工具 run: | brew install gdal geos proj
等这些底层工具装完再去安装sf,就能顺利通过gdal-config的检测环节了。
方案2:用r-lib的依赖管理工具省心力
手动一个个敲install.packages不仅麻烦,还容易漏依赖。r-lib提供的setup-r-dependencies工具能自动处理R包的系统依赖和R包间的依赖关系,比手动安装靠谱多了。
你可以把原来的「Install packages」步骤替换成下面这段:
- name: 自动安装所有R依赖包 uses: r-lib/actions/setup-r-dependencies@v2 with: packages: | tidyverse lubridate kableExtra htmltools rinat rebird gt sf
这个工具会自动识别sf需要的系统依赖,在macos环境下会自动调用Homebrew安装GDAL、GEOS这些工具,不用你手动写brew命令,适配性更强。
小补充
之前装rgdal暂时有用,大概率是rgdal安装时顺带拉了部分依赖,但sf需要的依赖更完整,所以没法彻底解决问题。建议优先用上面的方案,从根源补上系统依赖。
你可以先试试方案1,应该就能解决当前的gdal-config错误了。
备注:内容来源于stack exchange,提问作者SI_KL
相关产品推荐
相关产品推荐

