These three options allow to install packages or versions that are not yet on CRAN. They each come with their strengths and downsides:
pak
Pros:
the fastest option:
parallel downloads
optimized dependency resolution
cached dependency tree
clearly indicates, and sometimes automatically installs system dependencies
clear messaging to users of what's happening under the hood
the gold standard recommended by the tidyverse packages
Cons:
no binaries
rate limiting on GitHub API
remotes
Pros:
the standard for a long until pak started to take over. May be the most familiar to users
may already be installed on numerous machines because it comes with devtools
Cons:
no binaries
rate limiting on GitHub API
concurrent downloads
(rare) repeated installation because of dependency resolution imperfections
r-universe
Pros:
provides pre-compiled binaries for windows and mac
doesn't require installing an extra package
doesn't hit GitHub rate limit
Cons:
relies on install.packages() infrastructure
already installed and up to date packages are reinstalled
exact sha not saved. In case of a bug report, we don't know which specific commits are affected
Recommended installation instructions in Epiverse-TRACE
This list of strengths & weaknesses is likely not exhaustive and we need more data to consolidate or modify our current recommended installation instructions. In particular, detailed reports, with the full error message should be created and saved if you, colleagues, or trainees face installation problems. Without this data, we can only be left speculating about what the underlying issue is and how to best solve it.
These three options allow to install packages or versions that are not yet on CRAN. They each come with their strengths and downsides:
pak
Pros:
Cons:
remotes
Pros:
Cons:
r-universe
Pros:
Cons:
install.packages()
infrastructureRecommended installation instructions in Epiverse-TRACE
This list of strengths & weaknesses is likely not exhaustive and we need more data to consolidate or modify our current recommended installation instructions. In particular, detailed reports, with the full error message should be created and saved if you, colleagues, or trainees face installation problems. Without this data, we can only be left speculating about what the underlying issue is and how to best solve it.