The bulk of the code is based on remotes::install_cran(), for packages without vignette, convert README.md to vignette and install.
install_cran_with_readme(
pkgs,
repos = getOption("repos"),
type = getOption("pkgType"),
dependencies = NA,
upgrade = c("default", "ask", "always", "never"),
force = FALSE,
quiet = FALSE,
build = TRUE,
build_opts = c("--no-resave-data", "--no-manual", "--no-build-vignettes"),
build_manual = FALSE,
readme_to_vignette = TRUE,
build_vignettes = readme_to_vignette,
...
)Invisible NULL.
A character vector of packages to install.
A character vector giving repositories to use.
Type of package to update.
Which dependencies do you want to check? Can be a character vector (selecting from "Depends", "Imports", "LinkingTo", "Suggests", or "Enhances"), or a logical vector.
TRUE is shorthand for "Depends", "Imports", "LinkingTo" and
"Suggests". NA is shorthand for "Depends", "Imports" and "LinkingTo"
and is the default. FALSE is shorthand for no dependencies (i.e.
just check this package, not its dependencies).
The value "soft" means the same as TRUE, "hard" means the same as NA.
You can also specify dependencies from one or more additional fields, common ones include:
Config/Needs/website - for dependencies used in building the pkgdown site.
Config/Needs/coverage for dependencies used in calculating test coverage.
Should package dependencies be upgraded? One of "default", "ask", "always", or "never". "default"
respects the value of the R_REMOTES_UPGRADE environment variable if set,
and falls back to "ask" if unset. "ask" prompts the user for which out of
date packages to upgrade. For non-interactive sessions "ask" is equivalent
to "always". TRUE and FALSE are also accepted and correspond to
"always" and "never" respectively.
Force installation, even if the remote state has not changed since the previous install.
If TRUE, suppress output.
If TRUE build the package before installing.
Options to pass to R CMD build, only used when build is TRUE.
If FALSE, don't build PDF manual ('--no-manual').
Logical value. If TRUE, installs the contents of README.md as Vignette for packages without Vignette, if README.md is available; if FALSE, the behavior is the same as remotes::install_cran().
If FALSE, don't build package vignettes ('--no-build-vignettes').
Other arguments passed on to utils::install.packages().
The code is basically based on remotes::install_cran(), that remotes version 2.4.2.
It just intersperses the process of making README.md into vignettes if there are no vignettes when the package source is extracted during the installation.
The remotes package on which this code is based was created by the author of remotes and is now released at MIT.
The author of the remotes package is currently listed as Developed by Gábor Csárdi, Jim Hester, Hadley Wickham, Winston Chang, Martin Morgan, Dan Tenenbaum, Posit Software, PBC.
See r-lib/remote for detailed authorship.
https://github.com/r-lib/remotes
Other package installation:
install_github_with_readme()
if (FALSE) {
install_cran_with_readme("arabic2kansuji")
}
Run the code above in your browser using DataLab