[R-pkg-devel] Checking package dependencies before loading namespace
Tiago Olivoto
t|@goo||voto @end|ng |rom gm@||@com
Tue Aug 31 21:20:40 CEST 2021
Dear all,
I have a package called pliman <https://CRAN.R-project.org/package=pliman>
which depends on the Bioconductor package EBImage.
When running install.packages("pliman") I get the following warning
Warning in install.packages : dependency ‘EBImage’ is not available
and thus when loading the package with library(pliman), the following error
occurs
Erro: package or namespace load failed for ‘pliman’ in loadNamespace(i,
c(lib.loc, .libPaths()), versionCheck = vI[[i]]):
there is no package called ‘EBImage’
I created a check function to check if EBImage is available and if not, ask
users if they want to install it
---
check_ebi <- function(){
if(!requireNamespace("EBImage", quietly = TRUE)) {
inst <-
switch(menu(c("Yes", "No"), title = "Package {EBImage} required but not
available.\nDo you want to install it now?"),
"yes", "no")
if(inst == "yes"){
if (!requireNamespace("BiocManager", quietly = TRUE)){
install.packages("BiocManager")
}
BiocManager::install("EBImage", ask = FALSE, update = FALSE)
} else{
message("To use {pliman}, first install {EBImage} with
'BiocManager::install(\"EBImage\")'.")
}
}
}
---
Is there any way to run this function prior to namespace loading? I tried
putting check_ebi() into .onLoad() but the same error occurs.
Thanks in advance for any suggestions.
Tiago
[[alternative HTML version deleted]]
More information about the R-package-devel
mailing list