knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
This vignette exists as help is limited by CRAN to 5 seconds runs, and it depends a lot on user's connection. It will also explain the advance use of the package.
anyLib
To load anyLib
, simply :
library(anyLib)
For the purpose of the demonstration, installations in this vignette are done in a dummy library:
lib <- normalizePath(tempdir(), "/") f1 <- paste(lib, "folder1", sep = "/") dir.create(f1) .libPaths(f1)
foo <- .packages()
So, if one wants to install a simple CRAN package and load it, simply:
anyLib("apercu", lib = f1)
For a source package:
anyLib(system.file("dummyPackage_0.1.0.tar.gz", package = "anyLib"), source = TRUE, lib = f1, loadLib = f1)
For a Bioconductor package:
anyLib("limma", lib = f1, loadLib = f1)
And for github, to install, one needs the name in the format "maintainerName/packageName":
anyLib("achateigner/dummyPackage", force = TRUE, lib = f1, loadLib = f1)
But to load it once installed, one only needs its name:
anyLib("dummyPackage", lib = f1, loadLib = f1)
bar <- .packages() foobar <- setdiff(bar, foo) toRemove <- paste0("package:", foobar) for (i in seq_along(foobar)) { detach(toRemove[i], character.only = TRUE) }
To install and load a list of packages, from various places, with the names. I install them in a different folder:
f2 <- paste(lib, "folder2", sep = "/") dir.create(f2) anyLib(list("apercu", "limma", "achateigner/dummyPackage"), lib = f2, loadLib = f2)
To install and load from a list of packages in an object:
bar <- .packages() foobar <- setdiff(bar, foo) toRemove <- paste0("package:", foobar) for (i in seq_along(foobar)) { detach(toRemove[i], character.only = TRUE) }
f3 <- paste(lib, "folder3", sep = "/") dir.create(f3) packagesNeeded <- list("apercu", "limma", "achateigner/dummyPackage") anyLib(packagesNeeded, lib = f3, loadLib = f3)
If one wants to reinstall a package or force the update (force = TRUE
), not
update the Bioconductor packages (autoUpdate = FALSE
), install in a different
lib and load from a set of libs:
bar <- .packages() foobar <- setdiff(bar, foo) toRemove <- paste0("package:", foobar) for (i in seq_along(foobar)) { detach(toRemove[i], character.only = TRUE) }
f4 <- paste(lib, "folder4", sep = "/") dir.create(f4) anyLib(packagesNeeded, force = TRUE, autoUpdate = FALSE, lib = f4, loadLib = c(f1, f4))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.