# setup
# run nothing
knitr::opts_chunk$set(eval = FALSE)

If your R library is inside the R installation:

Update

Sometimes you need to rebuild them.

update.packages(checkBuilt = TRUE, ask = FALSE)

Backup packages

tmp = installed.packages()
installed = as.vector(tmp[is.na(tmp[,"Priority"]), 1])
save(installed, file="installed_packages.rda")

Restore packages

Packages on CRAN:

tmp = installed.packages()
existing = as.vector(tmp[is.na(tmp[,"Priority"]), 1])
load("installed_packages.rda")
diff <- setdiff(installed, existing)
install.packages(diff)

For packages from GitHub, githubinstall is a nice package to use.

library(githubinstall)
tmp = installed.packages()
existing = as.vector(tmp[is.na(tmp[,"Priority"]), 1])
load("installed_packages.rda")
diff <- setdiff(installed, existing)
githubinstall(diff, ask = FALSE)

Credits

GitHub gist

WordPress blog

Stack Overflow