For off-piste use I would have consulted `setRepositories(graphics = FALSE)` and then
``` ## use Sys.setenv() before setRepositories Sys.setenv(R_BIOC_VERSION="3.18") setRepositories(ind = 1:4) # CRAN plus Bioc soft, anno, and expt repos getOption("repos") # check install.packages("BiocGenerics") ``` The help page ?BIOCONDUCTOR_ONLINE_VERSION_DIAGNOSIS says �BIOCONDUCTOR_ONLINE_VERSION_DIAGNOSIS� is an environment variable or global �options()� which, when set to �FALSE�, avoids the R and _Bioconductor_ version checks that are done by querying an online configuration file. Setting �BIOCONDUCTOR_ONLINE_VERSION_DIAGNOSIS� to �FALSE� can speed package loading when internet access is slow or non-existent, but may result in out-of-date information about the current release and development versions of _Bioconductor_. Offline users should set the �BIOCONDUCTOR_CONFIG_FILE� environment variable or option to a �.yaml� file similar to https://bioconductor.org/config.yaml for full offline use and version validation. This could be clarified to more clearly indicate that BIOCONDUCTOR_ONLINE_VERSION_DIAGNOSIS replaces the online version check with a local check against BIOCONDUCTOR_CONFIG_FILE; it does not disable the check. If you've copied the online file to a local file verbatim, then the same constraints are validated but without going online. The use case that this is meant to support is when the Bioconductor repository (options(BioC_mirror = �)) is itself off-line or not internet accessible, as might be the case in a corporate or HPC environment where a local mirror is maintained on the file system or inside a firewall. One could hack the local config file in a more or less obvious way (replace "3.18" : "4.3" in the r_ver_for_bioc_ver section) but I would do something less easily forgotten. FWIW I don't think BiocManager should support non-standard installations, keeping most users on track but letting the experts fend for themselves. Martin From: Bioc-devel <bioc-devel-boun...@r-project.org> on behalf of Wolfgang Huber <wolfgang.hu...@embl.org> Date: Saturday, May 6, 2023 at 4:40 AM To: bioc-devel@r-project.org <bioc-devel@r-project.org> Subject: [Bioc-devel] BiocManager::install Hi, I am wondering whether: 1. it could be easier to install Bioconductor packages (devel or release) on R-devel (or other non-standard R versions) using BiocManager::install (I may be stirring a hornet�s nest with that:) 2. whether its documentation needs to be updated and/or its implementation could be deconvoluted (hopefully that�s uncontroversial). Re the first point, I appreciate that we�re trying to help non-expert users with simple use cases, and that we had/have a lot of trouble with users working with out-of-sync versions. OTOH, the current solution (rigid, confusing documentation, seemingly buggy implementation) seems to be standing in the way for developers, a dichotomy that we do not really want. Of course, a workaround is ```{r} > install.packages("ggtree", repos = c(�@CRAN@", > "https://bioconductor.org/packages/3.18/bioc") ``` and maybe this is just the answer. So far, my workflows have been based on BiocManager::install, but I get (and cannot seem to get rid of): ```{r} > options(BIOCONDUCTOR_ONLINE_VERSION_DIAGNOSIS = FALSE) > BiocManager::install("ggtree", version = "devel") Error: Bioconductor does not yet build and check packages for R version 4.4; see https://bioconductor.org/install > sessionInfo() R Under development (unstable) (2023-05-05 r84398) Platform: aarch64-apple-darwin20 (64-bit) Running under: macOS Ventura 13.3.1 Matrix products: default BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib LAPACK: /Users/whuber/R.framework/Versions/4.4/Resources/lib/libRlapack.dylib; LAPACK version 3.11.0 locale: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 time zone: Europe/Berlin tzcode source: internal attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] BiocManager_1.30.20 fortunes_1.5-4 loaded via a namespace (and not attached): [1] compiler_4.4.0 tools_4.4.0 rstudioapi_0.14 ``` I noted some discussion on this here: https://github.com/Bioconductor/BiocManager/issues/13 but this was 5 years ago. It appears that the documentation of BiocManager::install mismatches its implementation, and overall the process for something that's conceptually quite simple seems to have become convoluted. One of the most helpful documentation resources on this topic btw is https://solutions.posit.co/envs-pkgs/bioconductor/ which cheerfully concludes "Working with BioConductor packages for code development is possible." Thanks and best wishes Wolfgang -- Wolfgang Huber EMBL https://www.embl.org/groups/huber _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel [[alternative HTML version deleted]]
_______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel