install_github
Attempts to install a package directly from GitHub.
This function is vectorised on repo
so you can install multiple
packages in a single command.
Usage
install_github(repo, username = NULL, ref = "master", subdir = NULL,
auth_token = github_pat(), host = "api.github.com", ...)
Arguments
- repo
Repository address in the format
username/repo[/subdir][@ref|#pull]
. Alternatively, you can specifysubdir
and/orref
using the respective parameters (see below); if both is specified, the values inrepo
take precedence.- username
User name. Deprecated: please include username in the
repo
- ref
Desired git reference. Could be a commit, tag, or branch name, or a call to
github_pull
. Defaults to"master"
.- subdir
subdirectory within repo that contains the R package.
- auth_token
To install from a private repo, generate a personal access token (PAT) in https://github.com/settings/applications 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.- host
GitHub API host to use. Override with your GitHub enterprise hostname, for example,
"github.hostname.com/api/v3"
.- ...
Other arguments passed on to
install.packages
.
Details
Attempting to install from a source repository that uses submodules raises a warning. Because the zipped sources provided by GitHub do not include submodules, this may lead to unexpected behaviour or compilation failure in source packages. In this case, cloning the repository manually may yield better results.
See Also
Examples
# NOT RUN {
install_github("klutometis/roxygen")
install_github("wch/ggplot2")
install_github(c("rstudio/httpuv", "rstudio/shiny"))
install_github(c("hadley/httr@v0.4", "klutometis/roxygen#142",
"mfrasca/r-logging/pkg"))
# To install from a private repo, use auth_token with a token
# from https://github.com/settings/applications. You only need the
# repo scope. Best practice is to save your PAT in env var called
# GITHUB_PAT.
install_github("hadley/private", auth_token = "abc")
# }