r-lib / remotes

Install R packages from GitHub, GitLab, Bitbucket, git, svn repositories, URLs
https://remotes.r-lib.org/
Other
325 stars 152 forks source link

Remotes selects incompatible bioconductor version on R 4.4.0: uses 3.18 instead of 3.19 #798

Open naikymen opened 1 month ago

naikymen commented 1 month ago

Hi!

It was apparently decided that bioc 3.19 shouldn't be mapped to R 4.4.0: https://github.com/r-lib/remotes/blob/5b7eb08f70ecc4f885f2c75330ce77f87e7dd14e/R/bioc-standalone.R#L117

However, this can result in bioc version 3.18 being selected, and it is not compatible with R 4.4.0.

This may be because R_BIOC_VERSION is not set in my environment, and because it is not in the version map.

image

It can be observed that this is the case:

image

However, if I copy-paste the source (https://github.com/r-lib/remotes/blob/main/R/bioc-standalone.R) to a script (source.zip) and source it, the correct version pops up:

image

What may be going on?

For context see: https://github.com/Bioconductor/S4Vectors/issues/123

mtmorgan commented 1 month ago

I think that this is fixed with https://github.com/r-lib/remotes/commit/041e67b43c7909ace5f4233aea5a03366654e5ac but has not been released to CRAN yet; installing remotes from GitHub would return the correct version of Bioconductor.

naikymen commented 1 month ago

Thats great!

Perhaps it would be nice if remotes grabbed the bioc version from BiocManager::version() instead (i.e. if it is installed).

mtmorgan commented 1 month ago

Note that this can use utils::download.file, but download.file is not in the NAMESPACE. This is also a problem for the 'pkgcache' package, which has a copy-paste version of the same code.