-
Couldn't load subscription status.
- Fork 765
Description
I am trying to use {devtools} on a GitHub codespace to wrap up a CRAN release.
That means starting from a barebones set-up, where many system requirements are missing.
{devtools}' long list of dependencies turns this into a fairly manual exercise -- install.packages(), see what failed, try again, apt-get install ..., iterate.
It took me 5-6 runs of install.packages() to finally get {devtools} set up now.
I'm wondering how to improve this iteration cycle; what comes to mind is for {devtools} to check all system requirements up-front.
This breaks encapsulation a bit (ideally we'd let each dependency tell us about its requirements), but may be worthwhile in this case since the set of missing dependencies only emerges gradually.
Example, package B depends on package A. Package B has system requirements X, package A has system requirements Y.
Installing B will fail will attempt to install A, which fails for lack of Y. It's revealed that X are missing until we install Y, then attempt to install B again.