| Title: | Automate Retrieving, Building, Installing and Loading Specified Packages |
|---|---|
| Description: | Packages required for the search path may be located in the CRAN repository, the system library, or a local directory. We automate determining the disposition of each required package, retrieving it, and loading it as needed. |
| Authors: | Barry Zeeberg [aut, cre] |
| Maintainer: | Barry Zeeberg <[email protected]> |
| License: | GPL (>= 2) |
| Version: | 1.0 |
| Built: | 2026-06-09 11:18:54 UTC |
| Source: | https://github.com/cran/autoLibLoad |
given a list of packages, which ones are available from search path, installed packages, loaded packages, local directory
autoLibLoad(dir, packs, verbose = c(0, 3))autoLibLoad(dir, packs, verbose = c(0, 3))
dir |
character string full path name of directory containing package sources |
packs |
list of package names |
verbose |
integer param passed to vprint() |
returns no value, but has side effect of modifying search() path and installing packages from CRAN
## Not run: # replace dir and packs with your own versions!! try(remove.packages("cardUtils")) try(detach("package:cardUtils")) try(remove.packages("ggplot2")) try(detach("package:ggplot2")) dir1<-"~/personal/hearts/hearts_card_game_bayesian_inference/packages/" dir2<-"inference_packages/inference_packages/" dir<-sprintf("%s/%s",dir1,dir2) packs<-c("cardUtils","clickableImageMap","ggplot2","xxxx") l<-autoLibLoad(dir,packs) ## End(Not run)## Not run: # replace dir and packs with your own versions!! try(remove.packages("cardUtils")) try(detach("package:cardUtils")) try(remove.packages("ggplot2")) try(detach("package:ggplot2")) dir1<-"~/personal/hearts/hearts_card_game_bayesian_inference/packages/" dir2<-"inference_packages/inference_packages/" dir<-sprintf("%s/%s",dir1,dir2) packs<-c("cardUtils","clickableImageMap","ggplot2","xxxx") l<-autoLibLoad(dir,packs) ## End(Not run)
For consistency, make sure that we are always using the designated library rather than a random library
getSysLib(verbose = 4)getSysLib(verbose = 4)
verbose |
parameter passed to vprint() |
returns a character string containing the path name for the designated library
if(interactive()) { sysLib<-getSysLib() }if(interactive()) { sysLib<-getSysLib() }
which pakages in list are available on CRAN
is_package_on_cran2(pkg_names)is_package_on_cran2(pkg_names)
pkg_names |
list of package names |
returns a list of packages that are available on CRAN
is_package_on_cran2(c("ggplot2","xxxxx"))is_package_on_cran2(c("ggplot2","xxxxx"))
load packages as required
loadPacks(packs)loadPacks(packs)
packs |
list of package names |
not allowed to have direct call to library() in CRAN package version that is permitted in CRAN package - see zload() in NoviceDeveloperResources package
returns no value, but has side effect of loading packages in search() path
## Not run: # replace dir and packs with your own versions!! install.packages("ggplot2") packs<-"ggplot2" l<-loadPacks(packs) ## End(Not run) ## Not run: # replace pack with your own versions!! pack<-"ggplot2" install.packages(pack) eval(parse(text = sprintf("library(%s, verbose=TRUE)",pack))) ## End(Not run)## Not run: # replace dir and packs with your own versions!! install.packages("ggplot2") packs<-"ggplot2" l<-loadPacks(packs) ## End(Not run) ## Not run: # replace pack with your own versions!! pack<-"ggplot2" install.packages(pack) eval(parse(text = sprintf("library(%s, verbose=TRUE)",pack))) ## End(Not run)
determine potential R packages within a given directory
packagesInDir(dir)packagesInDir(dir)
dir |
character string full path name to directory holding R packages |
returns a list of potential R packages
## Not run: # replace dir and packs with your own versions!! dir1<-"~/personal/hearts/hearts_card_game_bayesian_inference/packages/" dir2<-"inference_packages/inference_packages/" dir<-sprintf("%s/%s",dir1,dir2) packagesInDir(dir) ## End(Not run)## Not run: # replace dir and packs with your own versions!! dir1<-"~/personal/hearts/hearts_card_game_bayesian_inference/packages/" dir2<-"inference_packages/inference_packages/" dir<-sprintf("%s/%s",dir1,dir2) packagesInDir(dir) ## End(Not run)