You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
When a package is available in multiple repositories, it would be helpful to force installation from a specific repository. The motivating examples are the rstan and StanHeaders packages. Both are available on CRAN (rstan 2.21.8 and StanHeaders 2.21.0-7), but are not the most up to date versions. The most recent versions are in a a CRAN-like repository from the Stan group (https://github.com/stan-dev/r-packages) which has rstan 2.26.22 and StanHeaders 2.26.22. I've added the mc-stan repository to extra repositories:
However, the packages are still getting installed from the default CRAN (i.e., in the session info rstan is version 2.21.8; see example action run).
Describe the solution you'd like
Ideally, if a package exists in multiple repositories, I'd have the option to force installation from a specific repo. For example, maybe we could name extra repositories, and then use those names for install?
I'm not sure if that would actually work, but someway to indicate which repository a package should be installed from if multiple are available would be useful.
Describe alternatives you've considered
Currently, I'm using the url:: specification. This works, but is suboptimal because I have to track when updates are made to the stan-dev/r-packages repository, and then update the url manually.
As a workaround for this on GH Actions, I've added an input to our org's R CMD CHECK workflow, which accepts a remotes input and appends them to DESCRIPTION before installing dependencies.
This lets us use the same action twice, one without a remotes input to target dependencies from CRAN/P3, and then again with the remotes pointing to the dev versions of our dependencies.
So, it would look something like:
r-cmd-check:
name: R CMD Checkuses: RMI-PACTA/actions/.github/workflows/R-CMD-check.yml@maindev-r-cmd-check:
name: R CMD Check (dev versions)uses: RMI-PACTA/actions/.github/workflows/R-CMD-check.yml@mainwith:
upgrade-packages: 'TRUE'cache-version: 'dev'remotes: | RMI-PACTA/r2dii.data RMI-PACTA/r2dii.match
Is your feature request related to a problem? Please describe.
When a package is available in multiple repositories, it would be helpful to force installation from a specific repository. The motivating examples are the rstan and StanHeaders packages. Both are available on CRAN (rstan 2.21.8 and StanHeaders 2.21.0-7), but are not the most up to date versions. The most recent versions are in a a CRAN-like repository from the Stan group (https://github.com/stan-dev/r-packages) which has rstan 2.26.22 and StanHeaders 2.26.22. I've added the mc-stan repository to extra repositories:
However, the packages are still getting installed from the default CRAN (i.e., in the session info rstan is version 2.21.8; see example action run).
Describe the solution you'd like
Ideally, if a package exists in multiple repositories, I'd have the option to force installation from a specific repo. For example, maybe we could name extra repositories, and then use those names for install?
I'm not sure if that would actually work, but someway to indicate which repository a package should be installed from if multiple are available would be useful.
Describe alternatives you've considered
Currently, I'm using the
url::
specification. This works, but is suboptimal because I have to track when updates are made to the stan-dev/r-packages repository, and then update the url manually.The text was updated successfully, but these errors were encountered: