Devtools version 1.9 supports package dependency installation for packages not yet in a standard package repository such as CRAN or Bioconductor.
You can mark any regular dependency defined in the
Enhances fields as being installed from a remote location by
adding the remote location to
Remotes in your
DESCRIPTION file. This will
cause devtools to download and install them prior to installing your package (so they won't be installed from CRAN).
The remote dependencies specified in
Remotes should be described in the following form.
Remotes: [type::]<Repository>, [type2::]<Repository2>
type is an optional parameter. If the type is missing the default is
to install from GitHub. Additional remote dependencies should be separated by
commas, just like normal dependencies elsewhere in the
It is important to remember that you must always declare the dependency in the usual way, i.e. include it in
Remotes field only provides instructions on where to install the dependency from. In this example
DESCRIPTION file, note how rlang appears in
Imports and in
Package: xyz Title: What the Package Does (One Line, Title Case) Version: 0.0.0.9000 Authors@R: person(given = "First", family = "Last", role = c("aut", "cre"), email = "firstname.lastname@example.org") Description: What the package does (one paragraph). License: MIT + file LICENSE Imports: rlang Remotes: r-lib/rlang
Because GitHub is the most commonly used unofficial package distribution in R, it's the default:
You can also specify a specific hash, tag, or pull request (using the same syntax as
install_github() if you want a particular commit. Otherwise the latest commit on the HEAD of the branch is used.
Remotes: email@example.com, klutometis/roxygen#142, hadley/testthat@c67018fa4970
A type of
github can be specified, but is not required
All of the currently supported install sources are available, see the 'See
Also' section in
?install for a complete list.
# GitLab Remotes: gitlab::jimhester/covr # Git Remotes: git::firstname.lastname@example.org:djnavarro/lsr.git # Bitbucket Remotes: bitbucket::sulab/mygene.r@default, djnavarro/lsr # Bioconductor Remotes: bioc::3.3/SummarizedExperiment#117513, bioc::release/Biobase # SVN Remotes: svn::https://github.com/tidyverse/stringr # URL Remotes: url::https://github.com/tidyverse/stringr/archive/main.zip # Local Remotes: local::/pkgs/testthat # Gitorious Remotes: gitorious::r-mpc-package/r-mpc-package
When you submit your package to CRAN, all of its dependencies must also be available on CRAN. For this reason,
release() will warn you if you try to release a package with a
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.