This function is vectorised on repo so you can install multiple packages in a single command.

  ref = "HEAD",
  subdir = NULL,
  auth_token = github_pat(quiet),
  host = "",
  dependencies = NA,
  upgrade = c("default", "ask", "always", "never"),
  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"),



Repository address in the format username/repo[/subdir][@ref|#pull|@*release]. Alternatively, you can specify subdir and/or ref using the respective parameters (see below); if both are specified, the values in repo take precedence.


Desired git reference. Could be a commit, tag, or branch name, or a call to github_pull() or github_release(). Defaults to "HEAD", which means the default branch on GitHub and for git remotes. See setting-the-default-branch for more details.


Subdirectory within repo that contains the R package.


To install from a private repo, generate a personal access token (PAT) in "" and supply to this argument. This is safer than using a password because you can easily delete a PAT without affecting any others. Defaults to the GITHUB_PAT environment variable.


GitHub API host to use. Override with your GitHub enterprise hostname, for example, "".


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.


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').


A character vector giving repositories to use.


Type of package to update.


Other arguments passed on to utils::install.packages().


If the repository uses submodules a command-line git client is required to clone the submodules.

See also