Find all the dependencies of a package and determine whether they are ahead or behind CRAN. A print() method identifies mismatches (if any) between local and CRAN versions of each dependent package; an update() method installs outdated or missing packages from CRAN.

package_deps(
packages,
dependencies = NA,
repos = getOption("repos"),
type = getOption("pkgType")
)

local_package_deps(pkgdir = ".", dependencies = NA)

dev_package_deps(
pkgdir = ".",
dependencies = NA,
repos = getOption("repos"),
type = getOption("pkgType")
)

# S3 method for package_deps
update(
object,
dependencies = NA,
force = FALSE,
quiet = FALSE,
build = TRUE,
build_opts = c("--no-resave-data", "--no-manual", "--no-build-vignettes"),
build_manual = FALSE,
build_vignettes = FALSE,
repos = getOption("repos"),
type = getOption("pkgType"),
...
)

## Arguments

packages A character vector of package names. Which dependencies do you want to check? Can be a character vector (selecting from "Depends", "Imports", "LinkingTo", "Suggests", or "Enhances"), or a logical vector. TRUE is shorthand for "Depends", "Imports", "LinkingTo" and "Suggests". NA is shorthand for "Depends", "Imports" and "LinkingTo" and is the default. FALSE is shorthand for no dependencies (i.e. just check this package, not its dependencies). The value "soft" means the same as TRUE, "hard" means the same as NA. You can also specify dependencies from one or more additional fields, common ones include: Config/Needs/website - for dependencies used in building the pkgdown site. Config/Needs/coverage for dependencies used in calculating test coverage. A character vector giving repositories to use. Type of package to update. Path to a package directory, or to a package tarball. A package_deps object. Should package dependencies be upgraded? One of "default", "ask", "always", or "never". "default" respects the value of the R_REMOTES_UPGRADE environment variable if set, and falls back to "ask" if unset. "ask" prompts the user for which out of date packages to upgrade. For non-interactive sessions "ask" is equivalent to "always". TRUE and FALSE are also accepted and correspond to "always" and "never" respectively. Force installation, even if the remote state has not changed since the previous install. If TRUE, suppress output. If TRUE build the package before installing. Options to pass to R CMD build, only used when build is TRUE. If FALSE, don't build PDF manual ('--no-manual'). If FALSE, don't build package vignettes ('--no-build-vignettes'). Additional arguments passed to install_packages.

## Value

A data.frame with columns:

 package The dependent package's name, installed The currently installed version, available The version available on CRAN, diff An integer denoting whether the locally installed version of the package is newer (1), the same (0) or older (-1) than the version currently available on CRAN.

## Examples

if (FALSE) {
package_deps("devtools")
# Use update to update any out-of-date dependencies
update(package_deps("devtools"))
}