View source: R/updatePackages.R
| updatePackages | R Documentation |
oldPackages() indicates packages which have a (suitable) later version on
the repositories whereas updatePackages() offers to download and install
such packages.
oldPackages(
path = NULL,
repos = getOption("repos"),
availPkgs = pkgAvail(repos = repos, type = type, Rversion = Rversion),
method,
availableLocal = pkgAvail(repos = path, type = type, Rversion = Rversion, quiet =
quiet),
type = "source",
Rversion = R.version,
quiet = FALSE
)
updatePackages(
path = NULL,
repos = getOption("repos"),
method = NULL,
ask = TRUE,
availPkgs = pkgAvail(repos = repos, type = type, Rversion = Rversion),
oldPkgs = NULL,
type = "source",
Rversion = R.version,
quiet = FALSE
)
path |
Destination download path. This path is the root folder of your new repository. |
repos |
URL(s) of the 'contrib' sections of the repositories, e.g.
|
availPkgs |
Data frame with an element called |
method |
Download method, see |
availableLocal |
all packages hosted in the miniCRAN repo, as returned
by |
type |
Possible values are (currently) "source", "mac.binary" and
"win.binary": the binary types can be listed and downloaded but not
installed on other platforms. Passed to |
Rversion |
Version of R (only used if
|
quiet |
If TRUE, suppress status messages (if any), and the progress bar during download. |
ask |
logical indicating whether to ask user before packages are
actually downloaded and installed. Alternatively, the value |
oldPkgs |
if specified as non-NULL, |
These functions are based on update.packages(). However, rather than
looking for locally installed packages they look for the package source and
binaries in the miniCRAN repository.
oldPackages() returns a matrix with one row per package and columns
for "Package", "LocalVer", "ReposVer" and "Repository". The matrix row
names the package names.
updatePackages returns NULL invisibly.
updatePackages(), pkgAvail().
Other update repo functions:
addOldPackage(),
addPackage(),
checkVersions(),
makeRepo()
### `oldPackages` and `updatePackages` require an existing miniCRAN repo
# Specify list of packages to download
mirror <- c(CRAN = "https://cloud.r-project.org")
pkgs <- c("foreach")
pdb <- cranJuly2014
if (interactive()) {
pdb <- pkgAvail(repos = mirror, type = "source")
pkgList <- pkgDep(pkgs, availPkgs = pdb, repos = mirror, type = "source", suggests = FALSE)
pkgList
# Create temporary folder for miniCRAN
dir.create(pth <- file.path(tempdir(), "miniCRAN"))
# create the miniCRAN directory structure but only add bin files
makeRepo(pkgList, path = pth, repos = mirror, type = "source", download = FALSE)
makeRepo(pkgList, path = pth, repos = mirror, type = "win.binary", download = TRUE)
# download old source package version and create repo index
oldVers <- data.frame(package = c("foreach", "codetools", "iterators"),
version = c("1.4.0", "0.2-7", "1.0.5"),
stringsAsFactors = FALSE)
addOldPackage(pkgList, path = pth, repos = mirror, vers = oldVers$version, type = "source")
# NOTE: older binary versions would need to be build from source
# Check if updated packages are available
oldPackages(path = pth, repos = mirror, type = "source") # should need update
oldPackages(path = pth, repos = mirror, type = "win.binary") # should be current
# Update available packages
updatePackages(path = pth, repos = mirror, type = "source", ask = FALSE) # should need update
updatePackages(path = pth, repos = mirror, type = "win.binary") # should be current
# Delete temporary folder
unlink(pth, recursive = TRUE)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.