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 devtools
.
Remotes
field in DESCRIPTION
.
See more in the dependencies
vignette.Additional_repositories
field in
DESCRIPTION
.Install the released version of remotes from CRAN:
install.packages("remotes")
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:
::install_github("r-lib/conflicted") remotes
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 @
:
::install_github("gaborcsardi/pkgconfig@v2.0.0") remotes
To install the latest release, append @*release
to the
repo name:
::install_github("gaborcsardi/pkgconfig@*release") remotes
To install a pull request, append #
and the id (an
integer number) of the pull request to the repo name:
::install_github("r-lib/pkgconfig#7") remotes
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, ...
where repo_spec
is any repository specification the
corresponding install_()
function can handle. If
remote::
is missing, github::
is assumed.
Other possible values: gitlab::
,bitbucket::
,
git::
, local::
, svn::
,
url::
, version::
, cran::
,
bioc::
.
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_github
.install_bitbucket
.install_git
. They need
either a system git installation, or the git2r R package.install_local
.install_url
.install_svn
.
They need a system subversion installation.install_version
. This includes outdated and archived
packages as well.install_deps
.curl::curl_download
in that casedownload.file()
method is
used. (method = "auto"
)method = "wininet"
is used on windows OSmethod = "libcurl"
is used on other OS, if
available.See 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 ?download.file
.
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
unzip
program.
The BITBUCKET_USER
and
BITBUCKET_PASSWORD
environment variables are used for the
default Bitbucket user name and password, in
install_bitbucket()
The GITHUB_PAT
environment variable is used as the
default GitHub personal access token for all GitHub API
queries.
The R_BIOC_MIRROR
environment variable can be used
to specify an alternative Bioconductor mirror. (The
BioC_mirror
option takes precedence over this.)
The R_BIOC_VERSION
environment variable can be used
to force a Bioconductor version.
The 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.
Setting 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.
Setting 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.
GPL (>= 2) © Mango Solutions, RStudio