Look up the dependencies of a package
Arguments
- pkg
Package names or package references. E.g.
ggplot2: package from CRAN, Bioconductor or a CRAN-like repository in general,tidyverse/ggplot2: package from GitHub,tidyverse/ggplot2@v3.4.0: package from GitHub tag or branch,https://examples.com/.../ggplot2_3.3.6.tar.gz: package from URL,.: package in the current working directory.
See "Package sources" for more details.
- upgrade
Whether to use the most recent available package versions.
- dependencies
What kinds of dependencies to install. Most commonly one of the following values:
NA: only required (hard) dependencies,TRUE: required dependencies plus optional and development dependencies,FALSE: do not install any dependencies. (You might end up with a non-working package, and/or the installation might fail.) See Package dependency types for other possible values and more information about package dependencies.
Value
A data frame with the dependency data, it includes pkg
as well. It has the following columns.
built: theBuiltfield from theDESCRIPTIONfile of binary packages, for which this information is available.cache_status: whether the package file is in the package cache. It isNAforinstalled::package refs.dep_types: character vector of dependency types that were considered for this package. (This is a list column.)deps: dependencies of the package, in a data frame. See "Package dependency tables" below.direct: whether this package (ref, really) was directly specified, or added as a dependency.error: this is a list column that contains error objects for the refs that pkgdepends failed to resolve.filesize: the file size in bytes, orNAif this information is not available.license: license of the package, orNAif not available.md5sum: MD5 checksum of the package file, if available, orNAif not.metadata: a named character vector. These fields will be (should be) added to the installedDESCRIPTIONfile of the package.mirror: URL of the CRAN(-like) mirror site where the metadata was obtained from. It is NA for non-CRAN-like sources, e.g. local files, installed packages, GitHub, etc.needscompilation: whether the package needs compilation.package: package name.priority: this is"base"for base packages,"recommended"for recommended packages, andNAotherwise.ref: package reference.remote: the parsedremote_refobjects, seeparse_pkg_refs(). This is a list column.repodir: the directory where this package should be in a CRAN-like repository.sha256: SHA256 hash of the package file, if available, otherwiseNA.sources: URLs where this package can be downloaded from. This is not necessarily a URL that you can download with a HTTP client. E.g. forlocal::refs it is a path, and forgit::refs it is a URL for git. It is a zero length vector forinstalled::refs.status: status of the dependency resolution,"OK"or"FAILED".target: path where this package should be saved in a CRAN-repository.type: ref type.version: package version.
direct (logical),
needscompilation (logical), filesize (integer), deps (list column, see
"Package dependency tables" below), sources (list of character vectors),
remote (list), error (list), metadata (list), dep_types (list).
Package dependency tables
A package dependency tables in the deps list column have five columns
currently:
ref: the package ref of the dependency.type: the dependency type, in all lowercase. I.e.imports,suggests, etc.package: package name of the dependency.op: operator for version requirements, e.g.>=.version: version number, for version requirements.
Examples
pkg_deps("dplyr")#> # A data frame: 16 × 32 #> ref type direct direc…¹ status package version license needs…² #> <chr> <chr> <lgl> <lgl> <chr> <chr> <chr> <chr> <lgl> #> 1 R6 stan… FALSE FALSE OK R6 2.5.1 MIT + … FALSE #> 2 cli stan… FALSE FALSE OK cli 3.4.1 MIT + … FALSE #> 3 dplyr stan… TRUE TRUE OK dplyr 1.0.10 MIT + … FALSE #> 4 fansi stan… FALSE FALSE OK fansi 1.0.3 GPL-2 … FALSE #> 5 generics stan… FALSE FALSE OK generi… 0.1.3 MIT + … FALSE #> 6 glue stan… FALSE FALSE OK glue 1.6.2 MIT + … FALSE #> 7 lifecycle stan… FALSE FALSE OK lifecy… 1.0.3 MIT + … FALSE #> 8 magrittr stan… FALSE FALSE OK magrit… 2.0.3 MIT + … FALSE #> 9 pillar stan… FALSE FALSE OK pillar 1.8.1 MIT + … FALSE #> 10 pkgconfig stan… FALSE FALSE OK pkgcon… 2.0.3 MIT + … FALSE #> 11 rlang stan… FALSE FALSE OK rlang 1.0.6 MIT + … FALSE #> 12 tibble stan… FALSE FALSE OK tibble 3.1.8 MIT + … FALSE #> 13 tidysele… stan… FALSE FALSE OK tidyse… 1.2.0 MIT + … FALSE #> 14 utf8 stan… FALSE FALSE OK utf8 1.2.2 Apache… FALSE #> 15 vctrs stan… FALSE FALSE OK vctrs 0.5.1 MIT + … FALSE #> 16 withr stan… FALSE FALSE OK withr 2.5.0 MIT + … FALSE #> # … with 23 more variables: priority <chr>, md5sum <chr>, sha256 <chr>, #> # filesize <int>, built <chr>, platform <chr>, rversion <chr>, #> # repotype <chr>, repodir <chr>, target <chr>, deps <list>, #> # mirror <chr>, sources <list>, remote <list>, error <list>, #> # metadata <list>, dep_types <list>, params <list>, sysreqs <chr>, #> # cache_status <chr>, lib_status <chr>, old_version <chr>, #> # new_version <chr>, and abbreviated variable names ¹directpkg, …
For a package on GitHub:
pkg_deps("r-lib/callr")#> # A data frame: 4 × 32 #> ref type direct direc…¹ status package version license needs…² #> <chr> <chr> <lgl> <lgl> <chr> <chr> <chr> <chr> <lgl> #> 1 r-lib/cal… gith… TRUE TRUE OK callr 3.7.3.… MIT + … TRUE #> 2 R6 stan… FALSE FALSE OK R6 2.5.1 MIT + … FALSE #> 3 processx stan… FALSE FALSE OK proces… 3.8.0 MIT + … FALSE #> 4 ps stan… FALSE FALSE OK ps 1.7.2 MIT + … FALSE #> # … with 23 more variables: priority <chr>, md5sum <chr>, sha256 <chr>, #> # filesize <int>, built <chr>, platform <chr>, rversion <chr>, #> # repotype <chr>, repodir <chr>, target <chr>, deps <list>, #> # mirror <chr>, sources <list>, remote <list>, error <list>, #> # metadata <list>, dep_types <list>, params <list>, sysreqs <chr>, #> # cache_status <chr>, lib_status <chr>, old_version <chr>, #> # new_version <chr>, and abbreviated variable names ¹directpkg, …
See also
Other package functions:
lib_status(),
pak(),
pkg_deps_tree(),
pkg_download(),
pkg_install(),
pkg_remove(),
pkg_status(),
pkg_sysreqs()