`use_bioconductor = FALSE` still contacts bioconductor.org
Related issue for previous versions of R : https://github.com/r-lib/pak/issues/295
When setting options(pkg.use_bioconductor = FALSE) to avoid Bioconductor entirely (e.g. in a corporate environment where bioconductor.org is blocked), pak still makes an HTTP request to https://bioconductor.org/config.yaml and fails.
To reproduce: Use R 4.5+ behind a firewall with bioconductor.org blocked, set options(pkg.use_bioconductor = FALSE), then call any meta_*() or repo_*() function.
Root cause: In cmc__get_repos(), bioconductor$get_repos() is called unconditionally — before the if (bioc) guard — to classify user-configured repos as type "bioc" vs "cranlike". On R <= 4.4, this is harmless because the builtin R→Bioc version map short-circuits before any network call. On R 4.5+, R 4.5 is intentionally absent from that builtin map, so it falls through to a live HTTP fetch of the Bioconductor config YAML.
Fix :
```R
# R/metadata-cache.R, inside cmc__get_repos()
# before
bioc_names <- bioconductor$get_repos()
# after
bioc_names <- if (bioc) bioconductor$get_repos() else character(0L)
```
关闭于 2026-03-20 0 条评论