remotes
remotes copied to clipboard
Remotes selects incompatible bioconductor version on R 4.4.0: uses 3.18 instead of 3.19
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.
It can be observed that this is the case:
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:
What may be going on?
For context see: https://github.com/Bioconductor/S4Vectors/issues/123
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.
Thats great!
Perhaps it would be nice if remotes grabbed the bioc version from BiocManager::version() instead (i.e. if it is installed).
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.
As already discussed, this is fixed on main, but the CRAN release of remotes still has
remotes:::bioconductor$.internal$builtin_map$`4.4` == package_version("3.18")
Since R 4.4 uses Bioconductor 3.20, typical 4.4 users will encounter errors when attempting to install any package that has uninstalled Bioconductor dependencies.