% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/install-gitlab.R
\name{install_gitlab}
\alias{install_gitlab}
\title{Install a package from GitLab}
\usage{
install_gitlab(
  repo,
  subdir = NULL,
  auth_token = gitlab_pat(quiet),
  host = "gitlab.com",
  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"),
  ...
)
}
\arguments{
\item{repo}{Repository address in the format
\verb{username/repo[@ref]}.}

\item{subdir}{Subdirectory within repo that contains the R package.}

\item{auth_token}{To install from a private repo, generate a personal access
token (PAT) with at least read_api scope in
\url{https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html} 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
GITLAB_PAT environment variable.}

\item{host}{GitLab API host to use. Override with your GitLab enterprise
hostname, for example, \code{"<PROTOCOL://>gitlab.hostname.com"}.
The PROTOCOL is required by packrat during Posit Connect deployment. While
\link{install_gitlab} may work without, omitting it generally
leads to package restoration errors.}

\item{dependencies}{Which dependencies do you want to check?
Can be a character vector (selecting from "Depends", "Imports",
"LinkingTo", "Suggests", or "Enhances"), or a logical vector.

\code{TRUE} is shorthand for "Depends", "Imports", "LinkingTo" and
"Suggests". \code{NA} is shorthand for "Depends", "Imports" and "LinkingTo"
and is the default. \code{FALSE} is shorthand for no dependencies (i.e.
just check this package, not its dependencies).

The value "soft" means the same as \code{TRUE}, "hard" means the same as \code{NA}.

You can also specify dependencies from one or more additional fields,
common ones include:
\itemize{
\item Config/Needs/website - for dependencies used in building the pkgdown site.
\item Config/Needs/coverage for dependencies used in calculating test coverage.
}}

\item{upgrade}{Should package dependencies be upgraded? One of "default", "ask", "always", or "never". "default"
respects the value of the \code{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". \code{TRUE} and \code{FALSE} are also accepted and correspond to
"always" and "never" respectively.}

\item{force}{Force installation, even if the remote state has not changed
since the previous install.}

\item{quiet}{If \code{TRUE}, suppress output.}

\item{build}{If \code{TRUE} build the package before installing.}

\item{build_opts}{Options to pass to \verb{R CMD build}, only used when \code{build} is \code{TRUE}.}

\item{build_manual}{If \code{FALSE}, don't build PDF manual ('--no-manual').}

\item{build_vignettes}{If \code{FALSE}, don't build package vignettes ('--no-build-vignettes').}

\item{repos}{A character vector giving repositories to use.}

\item{type}{Type of package to \code{update}.}

\item{...}{Other arguments passed on to \code{\link[utils:install.packages]{utils::install.packages()}}.}
}
\description{
This function is vectorised on \code{repo} so you can install multiple
packages in a single command. Like other remotes the repository will skip
installation if \code{force == FALSE} (the default) and the remote state has
not changed since the previous installation.
}
\examples{
\dontrun{
install_gitlab("jimhester/covr")
}
}
\seealso{
Other package installation:
\code{\link{install_bioc}()},
\code{\link{install_bitbucket}()},
\code{\link{install_cran}()},
\code{\link{install_dev}()},
\code{\link{install_github}()},
\code{\link{install_git}()},
\code{\link{install_local}()},
\code{\link{install_svn}()},
\code{\link{install_url}()},
\code{\link{install_version}()}
}
\concept{package installation}
