Helper function to install packages for R using an external 'requirements.txt' or a string containing diverse packages from several resources like Github or CRAN.
The R package requiRements provides the ability to install all packages provided in a text or given a raw string.
This is meant to simply keep all e.g project dependent packages in one file (like the demo requirements.txt within ./data-raw/requirements.txt) and install them all in a rush by using requiRements::install("./requirements.txt").
This is well known from python and now available within R.
You can install requiRements directly from CRAN:
install.packages("requiRements")
The development version can be installed using
install.packages("devtools")
devtools::install_github("joundso/requirements", ref = "development")
## Test it with a string:
demo_string <- "
DIZtools
data.table
joundso/mainzelliste-connector
miracum/misc-diztools@dev
# this_one_will_be_ignored
"
requiRements::install(packages = demo_string)
## Test it with a vector:
demo_vec <-
c(
"",
"DIZtools",
"data.table",
"joundso/mainzelliste-connector",
"miracum/misc-diztools@dev",
"# this_one_will_be_ignored"
)
requiRements::install(packages = demo_vec)
## Test it with a file:
demo_path <- "./data-raw/requirements.txt"
requiRements::install(path_to_requirements = demo_path)
:bulb: Using the above defined variables demo_string, demo_vec and demo_path:
## Test it with a string AND a file:
requiRements::install(packages = demo_string,
path_to_requirements = demo_path)
## Test it with a vector AND a file:
requiRements::install(packages = demo_vec,
path_to_requirements = demo_path)
| Platform | Syntax | Example |
|---|---|---|
| CRAN | packagename |
requiRements::install(packages = "data.table") |
| GitHub | user/repo-name |
requiRements::install(packages = "joundso/mainzelliste-connector") |
| GitHub with Branch/Reference | user/repo-name@ref |
requiRements::install(packages = "miracum/misc-diztools@dev") |
--> Feel free to create an issue or (even better) a pull request. :pray: Thanks in advance!
Require