% Generated by roxygen2: do not edit by hand % Please edit documentation in R/package.R \name{pkg_download} \alias{pkg_download} \title{Download a package and its dependencies} \usage{ pkg_download( pkg, dest_dir = ".", dependencies = FALSE, platforms = NULL, r_versions = NULL ) } \arguments{ \item{pkg}{Package names or package references. E.g. \itemize{ \item \code{ggplot2}: package from CRAN, Bioconductor or a CRAN-like repository in general, \item \code{tidyverse/ggplot2}: package from GitHub, \item \code{tidyverse/ggplot2@v3.4.0}: package from GitHub tag or branch, \item \verb{https://examples.com/.../ggplot2_3.3.6.tar.gz}: package from URL, \item \code{.}: package in the current working directory. } See "\link{Package sources}" for more details.} \item{dest_dir}{Destination directory for the packages. If it does not exist, then it will be created.} \item{dependencies}{What kinds of dependencies to install. Most commonly one of the following values: \itemize{ \item \code{NA}: only required (hard) dependencies, \item \code{TRUE}: required dependencies plus optional and development dependencies, \item \code{FALSE}: do not install any dependencies. (You might end up with a non-working package, and/or the installation might fail.) See \link{Package dependency types} for other possible values and more information about package dependencies. }} \item{platforms}{Types of binary or source packages to download. The default is the value of \code{\link[pkgdepends:default_platforms]{pkgdepends::default_platforms()}}.} \item{r_versions}{R version(s) to download packages for. (This does not matter for source packages, but it does for binaries.) It defaults to the current R version.} } \value{ Data frame with information about the downloaded packages, invisibly. Columns: \eval{include_docs("pkgdepends", "docs/download-result.rds")} } \description{ TODO: explain result } \section{Examples}{ \if{html}{\out{
    }}\preformatted{dl <- pkg_download("forcats")
    }\if{html}{\out{
}}\if{html}{\out{

    #> i No downloads are needed, 2 pkgs (641.53 kB) are cached

}} \if{html}{\out{
    }}\preformatted{dl
    }\if{html}{\out{
}}\if{html}{\out{

    #> # A data frame: 2 × 35
    #>   ref     type     direct direc…¹ status package version license needs…²
    #>   <chr>   <chr>    <lgl>  <lgl>   <chr>  <chr>   <chr>   <chr>   <lgl>
    #> 1 forcats standard TRUE   TRUE    OK     forcats 0.5.2   MIT + … FALSE
    #> 2 forcats standard TRUE   TRUE    OK     forcats 0.5.2   MIT + … FALSE
    #> # … with 26 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>, extra <list>, dep_types <list>, params <list>,
    #> #   sysreqs <chr>, cache_status <chr>, fulltarget <chr>,
    #> #   fulltarget_tree <chr>, download_status <chr>, …

}} \if{html}{\out{
    }}\preformatted{dl$fulltarget
    }\if{html}{\out{
}}\if{html}{\out{

    #> [1] "./bin/macosx/big-sur-arm64/contrib/4.2/forcats_0.5.2.tgz"
    #> [2] "./src/contrib/forcats_0.5.2.tar.gz"

}} \if{html}{\out{
    }}\preformatted{pkg_download("r-lib/pak", platforms = "source")
    }\if{html}{\out{
}}\if{html}{\out{

    #> i No downloads are needed, 1 pkg is cached

}} } \seealso{ Other package functions: \code{\link{lib_status}()}, \code{\link{pak}()}, \code{\link{pkg_deps}()}, \code{\link{pkg_deps_tree}()}, \code{\link{pkg_install}()}, \code{\link{pkg_remove}()}, \code{\link{pkg_status}()}, \code{\link{pkg_sysreqs}()} } \concept{package functions}