Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pak vs remotes vs r-universe #148

Open
Bisaloo opened this issue Apr 29, 2024 · 0 comments
Open

pak vs remotes vs r-universe #148

Bisaloo opened this issue Apr 29, 2024 · 0 comments

Comments

@Bisaloo
Copy link
Member

Bisaloo commented Apr 29, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant