update.packages
Compare Installed Packages with CRAN-like Repositories
old.packages
indicates packages which have a (suitable) later
version on the repositories whereas update.packages
offers to
download and install such packages.
new.packages
looks for (suitable) packages on the repositories
that are not already installed, and optionally offers them for
installation.
- Keywords
- utilities
Usage
update.packages(lib.loc = NULL, repos = getOption("repos"),
contriburl = contrib.url(repos, type),
method, instlib = NULL,
ask = TRUE, available = NULL,
oldPkgs = NULL, …, checkBuilt = FALSE,
type = getOption("pkgType"))old.packages(lib.loc = NULL, repos = getOption("repos"),
contriburl = contrib.url(repos, type),
instPkgs = installed.packages(lib.loc = lib.loc, …),
method, available = NULL, checkBuilt = FALSE, …,
type = getOption("pkgType"))
new.packages(lib.loc = NULL, repos = getOption("repos"),
contriburl = contrib.url(repos, type),
instPkgs = installed.packages(lib.loc = lib.loc, …),
method, available = NULL, ask = FALSE, …,
type = getOption("pkgType"))
Arguments
- lib.loc
character vector describing the location of R library trees to search through (and update packages therein), or
NULL
for all known trees (see.libPaths
).- repos
character vector, the base URL(s) of the repositories to use, e.g., the URL of a CRAN mirror such as
"https://cloud.r-project.org"
.- contriburl
URL(s) of the contrib sections of the repositories. Use this argument if your repository is incomplete. Overrides argument
repos
. Incompatible withtype = "both"
.- method
Download method, see
download.file
. Unused if a non-NULL
available
is supplied.- instlib
character string giving the library directory where to install the packages.
- ask
logical indicating whether to ask the user to select packages before they are downloaded and installed, or the character string
"graphics"
, which brings up a widget to allow the user to (de-)select from the list of packages which could be updated. (The latter value only works on systems with a GUI version ofselect.list
, and is otherwise equivalent toask = TRUE
.)- available
an object as returned by
available.packages
listing packages available at the repositories, orNULL
which makes an internal call toavailable.packages
. Incompatible withtype = "both"
.- checkBuilt
If
TRUE
, a package built under an earlier major.minor version of R (e.g.,3.4
) is considered to be ‘old’.- oldPkgs
if specified as non-NULL,
update.packages()
only considers these packages for updating. This may be a character vector of package names or a matrix as returned byold.packages
.- instPkgs
by default all installed packages,
installed.packages(lib.loc = lib.loc)
. A subset can be specified; currently this must be in the same (character matrix) format as returned byinstalled.packages()
.- …
Arguments such as
destdir
anddependencies
to be passed toinstall.packages
andignore_repo_cache
,max_repo_cache_age
andnoCache
toavailable.packages
orinstalled.packages
.- type
character, indicating the type of package to download and install. See
install.packages
.
Details
old.packages
compares the information from
available.packages
with that from instPkgs
(computed by
installed.packages
by default) and reports installed
packages that have newer versions on the repositories or, if
checkBuilt = TRUE
, that were built under an earlier minor
version of R (for example built under 3.3.x when running R 3.4.0).
(For binary package types there is no check that the version on the
repository was built under the current minor version of R,
but it is advertised as being suitable for this version.)
new.packages
does the same comparison but reports uninstalled
packages that are available at the repositories. If
ask != FALSE
it asks which packages should be installed in the
first element of lib.loc
.
The main function of the set is update.packages
. First a list
of all packages found in lib.loc
is created and compared with
those available at the repositories. If ask = TRUE
(the
default) packages with a newer version are reported and for each one
the user can specify if it should be updated. If so the packages are
downloaded from the repositories and installed in the respective
library path (or instlib
if specified).
For how the list of suitable available packages is determined see
available.packages
. available = NULL
make a call
to available.packages(contriburl = contriburl, method = method)
and hence by default filters on R version, OS type and removes
duplicates.
Value
update.packages
returns NULL
invisibly.
For old.packages
, NULL
or a matrix with one row per
package, row names the package names and column names
"Package"
, "LibPath"
, "Installed"
(the version),
"Built"
(the version built under), "ReposVer"
and
"Repository"
.
For new.packages
a character vector of package names,
after any selected via ask
have been installed.
Warning
Take care when using dependencies
(passed to
install.packages
) with update.packages
,
for it is unclear where new dependencies should be installed. The
current implementation will only allow it if all the packages to be
updated are in a single library, when that library will be used.
See Also
install.packages
,
available.packages
, download.packages
,
installed.packages
, contrib.url
.
The options listed for install.packages
under
options
.
See download.file
for how to handle proxies and
other options to monitor file transfers.
INSTALL
, REMOVE
, remove.packages
,
library
, .packages
, read.dcf
The ‘R Installation and Administration’ manual for how to set up a repository.