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.