updatePackages {miniCRAN} | R Documentation |
Check for available package updates in a miniCRAN repo.
Description
oldPackages()
indicates packages which have a (suitable) later version on
the repositories whereas updatePackages()
offers to download and install
such packages.
Usage
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
)
Arguments
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, |
Details
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.
Value
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.
See Also
Other update repo functions:
addOldPackage()
,
addPackage()
,
checkVersions()
,
makeRepo()
Examples
### `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)
}