Install R Packages from GitHub, BitBucket, or other local or remote repositories
Download and install R packages stored in GitHub,
BitBucket, 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
.
- Installers:
- Install packages with their dependencies.
- Install from GitHub, BitBucket.
- Install from git and subversion repositories.
- Install from local files or URLs.
- Install the dependencies of a local package tree.
- Install specific package versions from CRAN.
- Supports BioConductor packages.
- Supports the
Remotes
field inDESCRIPTION
. See more here. - Supports the
Additional_repositories
inDESCRIPTION
. - Supports the
crancache
package to transparently cache CRAN packages. See more here. - Can install itself from GitHub (see below).
- Does not depend on other R packages.
- Does not contain compiled code, so no compiler is needed.
- Does not need any external software (for most of the functionality at least).
You can install remotes
from GitHub. If you already have a previous
version of remotes
installed, you can use that to install the new
version:
remotes::install_github("r-lib/remotes")
You can also call the supplied install-github.R
file directly, from
within R:
source("https://raw.githubusercontent.com/r-lib/remotes/master/install-github.R")$value("r-lib/remotes")
The https://install-github.me
service is also based on remotes
.
You can use it to install any R package from GitHub via sourcing a URL.
E.g. to install remotes
itself:
source("https://install-github.me/r-lib/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 master
branch from
GitHub, you can use the user/repo
form. Note that user
can also be
an organization:
remotes::install_github("mangothecat/franc")
If the R package is inside a subdirectory of the root directory, then give this subdirectory as well:
remotes::install_github("dmlc/xgboost/R-package")
To install a certain branch or commit or tag, append it to the
repo name, after an @
:
remotes::install_github("gaborcsardi/pkgconfig@v2.0.0")
To install the latest release, append @*release
to the repo
name:
remotes::install_github("gaborcsardi/pkgconfig@*release")
To install a pull request, append #
and the id (an integer number)
of the pull request to the repo name:
remotes::install_github("mangothecat/pkgsnap#10")
Dependencies are automatically installed from CRAN. By default, outdated dependencies are automatically upgraded.
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 install_github
can handle. If remote::
is missing, github::
is assumed.
Other possible values: bitbucket::
, git::
, local::
,
svn::
, url::
, version::
.
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. The BiocInstaller
package, which is needed to install them, is also automatically
installed temporarily.
- GitHub repositories via
install_github
. - Bitbucket repositories via
install_bitbucket
. - Generic git repositories via
install_git
. They need either a system git installation, or the git2r R package. - Local directories or package archive files via
install_local
. - Remote package archive files via
install_url
. - Packages in subversion repositories via
install_svn
. They need a system subversion installation. - Specific package versions from CRAN or other CRAN-like
repositories via
install_version
. This includes outdated and archived packages as well. - All dependencies of a package in a local directory via
install_deps
.
- For R older the 3.2,
curl
package is required asremotes
fallbacks tocurl::curl_download
in that case - For R newer than 3.3, default
download.file
method is used. (method = "auto"
) - For in between versions,
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.
GPL (>= 2) © Mango Solutions, RStudio