See https://github.com/go-gitea/gitea/pull/26051 --------- Signed-off-by: jolheiser <john.olheiser@gmail.com> Co-authored-by: JonRB <4564448+eeyrjmr@users.noreply.github.com>
2.2 KiB
date | title | slug | draft | toc | menu | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2023-01-01T00:00:00+00:00 | CRAN Package Registry | cran | false | false |
|
CRAN Package Registry
Publish R packages to a CRAN-like registry for your user or organization.
Requirements
To work with the CRAN package registry, you need to install R.
Configuring the package registry
To register the package registry you need to add it to Rprofile.site
, either on the system-level, user-level (~/.Rprofile
) or project-level:
options("repos" = c(getOption("repos"), c(gitea="https://gitea.example.com/api/packages/{owner}/cran")))
Parameter | Description |
---|---|
owner |
The owner of the package. |
If you need to provide credentials, you may embed them as part of the url (https://user:password@gitea.example.com/...
).
Publish a package
To publish a R package, perform a HTTP PUT
operation with the package content in the request body.
Source packages:
PUT https://gitea.example.com/api/packages/{owner}/cran/src
Parameter | Description |
---|---|
owner |
The owner of the package. |
Binary packages:
PUT https://gitea.example.com/api/packages/{owner}/cran/bin?platform={platform}&rversion={rversion}
Parameter | Description |
---|---|
owner |
The owner of the package. |
platform |
The name of the platform. |
rversion |
The R version of the binary. |
For example:
curl --user your_username:your_password_or_token \
--upload-file path/to/package.zip \
https://gitea.example.com/api/packages/testuser/cran/bin?platform=windows&rversion=4.2
You cannot publish a package if a package of the same name and version already exists. You must delete the existing package first.
Install a package
To install a R package from the package registry, execute the following command:
install.packages("{package_name}")
Parameter | Description |
---|---|
package_name |
The package name. |
For example:
install.packages("testpackage")