Open
Description
Problem
- Currently each data byte/recipe uses
library
to invoke the R packages necessary for each - However, this means that you cannot render the website if you are missing any of those R packages
- Particularly a problem for non-CRAN packages because it is not immediately obvious how to install them
- Discovered when making the edits included in this pull request
Solution(s)
- Use
librarian::shelf
to install/load packages- Pros: handles CRAN / GitHub / Bioconductor packages without special tweaks; installs packages only when necessary, otherwise just attaches them (functionally is
library
+install.packages
+remotes::install_github
wrapped into one) - Cons: does still require everyone to install
librarian
- Pros: handles CRAN / GitHub / Bioconductor packages without special tweaks; installs packages only when necessary, otherwise just attaches them (functionally is
- Build
install.packages
andremotes::install_github
calls into every .qmd that references a package- Pros: explicit about package source and uses familiar tools
- Cons: installation of every package on every use of
quarto render
will make rendering the website take a long time as we add more data bytes/recipes
- Some other solution?...