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
Indeed most of the code was copied over from
- 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
DESCRIPTION. See more here.
- Supports the
- Supports the
crancachepackage 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
remotes installed, you can use that to install the new
You can also call the supplied
install-github.R file directly, from
https://install-github.me service is also based on
You can use it to install any R package from GitHub via sourcing a URL.
E.g. to install
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
If the R package is inside a subdirectory of the root directory, then give this subdirectory as well:
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
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.
Dependencies on GitHub
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
can handle. If
remote:: is missing,
github:: is assumed.
Other possible values:
See more about the
Remotes field in this
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
package, which is needed to install them, is also automatically
Currently supported remote types
- GitHub repositories via
- Bitbucket repositories via
- 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
- Remote package archive files via
- Packages in subversion repositories via
install_svn. They need a system subversion installation.
- Specific package versions from CRAN or other CRAN-like
install_version. This includes outdated and archived packages as well.
- All dependencies of a package in a local directory via
- For R older the 3.2,
curlpackage is required as
curl::curl_downloadin that case
- For R newer than 3.3, default
download.filemethod is used. (
method = "auto")
- For in between versions,
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.
If a package in a git repository has submodules, then the installation will likely fail. Nevertheless, a warning is given in this case.
GPL (>= 2) © Mango Solutions, RStudio