I want to install a specific Git commit of XGBoost that hasn't yet made it onto CRAN. Outside of renv
, one can use these instructions. With renv
, I typically use install_github
, but remotes::install_github("dmlc/xgboost@606be9e6639dc3b24a5af1e8a131673f90aabdca", upgrade = "never", force = T, subdir = "R-package")
fails because the repository has submodules, and devtools::install_git("dmlc/xgboost", subdir = "R-package", ref = "606be9e6639dc3b24a5af1e8a131673f90aabdca", args = "--recursive")
, as recommended in the documentation for install_github
, fails because, apparently, args
isn't implemented:
Warning in system(full, intern = TRUE, ignore.stderr = quiet) :
running command ''/usr/bin/git' ls-remote dmlc/xgboost 606be9e6639dc3b24a5af1e8a131673f90aabdca 2>/dev/null' had status 128
Error: Failed to install 'unknown package' from Git:
Command failed (128)
Warning: Arguments in `...` must be used.
✖ Problematic argument:
• args = "--recursive"
What's the right way to install this package so it can be restored from the lockfile later?