Install R Packages from remote or local repositories, including GitHub, GitLab, Bitbucket, and Bioconductor
Download and install R packages stored in GitHub, GitLab, Bitbucket, Bioconductor, or plain subversion or git repositories. This package is a lightweight replacement of the
install_* functions in
devtools. Indeed most of the code was copied over from
DESCRIPTION. See more in the dependencies vignette.
Install the released version of remotes from CRAN:
Note that most of the examples here use GitHub. See below for other supported repository types.
To install the latest version of a package in the default branch from GitHub, you can use the
user/repo form. Note that
user can also be an organization:
If the R package is inside a subdirectory of the root directory, then give this subdirectory as well:
# build = FALSE because of some specificities of XGBoost package install_github("dmlc/xgboost/R-package", build = FALSE)
To install a certain branch or commit or tag, append it to the repo name, after an
To install the latest release, append
@*release to the repo name:
To install a pull request, append
# and the id (an integer number) of the pull request to the repo name:
Dependencies are automatically installed from CRAN. By default, outdated dependencies are automatically upgraded. In interactive sessions you can select a subset of the dependencies to upgrade.
It is also possible to install dependencies from GitHub or other supported repositories. For this you need to add a
Remotes field to the
DESCRIPTION file. Its format is:
Remotes: [remote::]repo_spec, [remote::]repo_spec, ...
repo_spec is any repository specification the corresponding
install_() function can handle. If
remote:: is missing,
github:: is assumed. Other possible values:
See more about the
Remotes field in this vignette.
remotes supports the
Additional_repositories field in
DESCRIPTION. This is a way to specify dependencies from non-CRAN package repositories. See the Writing R extensions manual for details.
Bioconductor packages are automatically detected and their dependencies are installed from Bioconductor.
install_git. They need either a system git installation, or the git2r R package.
install_svn. They need a system subversion installation.
install_version. This includes outdated and archived packages as well.
curl::curl_downloadin that case
download.file()method is used. (
method = "auto")
method = "wininet"is used on windows OS
method = "libcurl"is used on other OS, if available.
help("download.file") for informations on these methods and for setting proxies if needed.
remotes will use the curl, git2r and pkgbuild packages if they are installed to provide faster implementations for some aspects of the install process. However if you are using remotes to install or update these packages (or their reverse dependencies) using them during installation may fail (particularly on Windows).
If you set the environment variable
R_REMOTES_STANDALONE="true" (e.g. in R
Sys.setenv(R_REMOTES_STANDALONE="true")) you can force remotes to operate in standalone mode and use only its internal R implementations. This will allow successful installation of these packages.
remotes uses the following standard R options, see
?options for their details:
download.file.method for the default download method. See
pkgType for the package type (source or binary, see manual) to install, download or look up dependencies for.
repos for the locations of the user’s standard CRAN(-like) repositories.
It also uses some remotes specific options:
BioC_git for the URL of the default Bioconductor git mirror.
BioC_mirror for the URL of the Bioconductor mirror.
unzip for the path of the external
BITBUCKET_PASSWORD environment variables are used for the default Bitbucket user name and password, in
GITHUB_PAT environment variable is used as the default GitHub personal access token for all GitHub API queries.
R_BIOC_MIRROR environment variable can be used to specify an alternative Bioconductor mirror. (The
BioC_mirror option takes precedence over this.)
R_BIOC_VERSION environment variable can be used to force a Bioconductor version.
R_REMOTES_UPGRADE environment variable can be used to set a default preferred value for the
upgrade = argument accepted by the various
install_*() functions. For example, you can set
R_REMOTES_UPGRADE="always" to upgrade dependent packages without asking the user.
R_REMOTES_STANDALONE="true" forces remotes to work in standalone mode and avoid loading its optional dependencies (curl, git2 and pkgbuild currently. See “Standalone mode” above.
R_REMOTES_NO_ERRORS_FROM_WARNINGS="false" will cause warning messages during calls to
install.packages() to become errors. Often warning messages are caused by dependencies failing to install.