I'm trying to render a github.io repository using the GitHub Actions feature that will update the page on a gh-pages branch every time I push changes to the main branch. I followed this YouTube video's direction, and everything works except the "Install R Dependencies" build-deploy section.
Based on the error (copied below) it looks like the R package curl is having a hard time finding libcurl. Since this deployment is through a GitHub Actions, I'm not sure how to resolve this error. I've found troubleshooting attempts that suggested modifying the publish.yml file but those don't work at all.
My Quarto project uses renv so the GitHub actions YMAL file has this form: .github/workflows/publish.yml. The only part of it I changed was r-version: 4.4.3.
The error I get is:
- Installing curl ... FAILED
Error: Error: Error installing package 'curl':
================================
* installing *source* package ‘curl’ ...
** package ‘curl’ successfully unpacked and MD5 sums checked
** using staged installation
Using PKG_CFLAGS=
Using PKG_LIBS=-lcurl
--------------------------- [ANTICONF] --------------------------------
Configuration failed because libcurl was not found. Try installing:
* deb: libcurl4-openssl-dev (Debian, Ubuntu, etc)
* rpm: libcurl-devel (Fedora, CentOS, RHEL)
If libcurl is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a libcurl.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
-------------------------- [ERROR MESSAGE] ---------------------------
<stdin>:1:10: fatal error: curl/curl.h: No such file or directory
compilation terminated.
--------------------------------------------------------------------
ERROR: configuration failed for package ‘curl’
* removing ‘/home/runner/work/Data-Visualization-with-ggplot2/Data-Visualization-with-ggplot2/renv/staging/1/curl’
install of package 'curl' failed [error code 1]
Traceback (most recent calls last):
13: renv::restore()
12: renv_restore_run_actions(project, diff, current, lockfile, rebuild)
11: renv_install_impl(records)
10: renv_install_staged(records)
9: renv_install_default(records)
8: handler(package, renv_install_package(record))
7: renv_install_package(record)
6: withCallingHandlers(renv_install_package_impl(record), error = function(e) writef("FAILED"))
5: renv_install_package_impl(record)
4: r_cmd_install(package, path)
3: r_exec_error(package, output, "install", status)
2: abort(all)
1: stop(fallback)
Execution halted
Error: Process completed with exit code 1.
Any suggestions are greatly appreciated!
libcurl4-openssl-devas the error message suggests? See stackoverflow.com/a/58002908/3358272 for one way to addapt-get install ...to your github action workflow.curlinstalled and having the dev package installed are two different things. I don't know that the dev portion should be installed by default, but the error does tend to say exactly that (and I would be surprised if default runners had a lot of dev packages installed by default). @BenjaminW.