mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 00:20:25 +08:00 
			
		
		
		
	Add CRAN package registry (#22331)
This PR adds a [CRAN](https://cran.r-project.org/) package registry. 
This commit is contained in:
		
							
								
								
									
										93
									
								
								docs/content/doc/usage/packages/cran.en-us.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								docs/content/doc/usage/packages/cran.en-us.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,93 @@
 | 
			
		||||
---
 | 
			
		||||
date: "2023-01-01T00:00:00+00:00"
 | 
			
		||||
title: "CRAN Packages Repository"
 | 
			
		||||
slug: "cran"
 | 
			
		||||
draft: false
 | 
			
		||||
toc: false
 | 
			
		||||
menu:
 | 
			
		||||
  sidebar:
 | 
			
		||||
    parent: "packages"
 | 
			
		||||
    name: "CRAN"
 | 
			
		||||
    weight: 35
 | 
			
		||||
    identifier: "cran"
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
# CRAN Packages Repository
 | 
			
		||||
 | 
			
		||||
Publish [R](https://www.r-project.org/) packages to a [CRAN](https://cran.r-project.org/)-like registry for your user or organization.
 | 
			
		||||
 | 
			
		||||
**Table of Contents**
 | 
			
		||||
 | 
			
		||||
{{< toc >}}
 | 
			
		||||
 | 
			
		||||
## Requirements
 | 
			
		||||
 | 
			
		||||
To work with the CRAN package registry, you need to install [R](https://cran.r-project.org/).
 | 
			
		||||
 | 
			
		||||
## 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:
 | 
			
		||||
 | 
			
		||||
```shell
 | 
			
		||||
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:
 | 
			
		||||
 | 
			
		||||
```shell
 | 
			
		||||
install.packages("{package_name}")
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
| Parameter      | Description |
 | 
			
		||||
| -------------- | ----------- |
 | 
			
		||||
| `package_name` | The package name. |
 | 
			
		||||
 | 
			
		||||
For example:
 | 
			
		||||
 | 
			
		||||
```shell
 | 
			
		||||
install.packages("testpackage")
 | 
			
		||||
```
 | 
			
		||||
@@ -34,6 +34,7 @@ The following package managers are currently supported:
 | 
			
		||||
| [Conan]({{< relref "doc/usage/packages/conan.en-us.md" >}}) | C++ | `conan` |
 | 
			
		||||
| [Conda]({{< relref "doc/usage/packages/conda.en-us.md" >}}) | - | `conda` |
 | 
			
		||||
| [Container]({{< relref "doc/usage/packages/container.en-us.md" >}}) | - | any OCI compliant client |
 | 
			
		||||
| [CRAN]({{< relref "doc/usage/packages/cran.en-us.md" >}}) | R | - |
 | 
			
		||||
| [Debian]({{< relref "doc/usage/packages/debian.en-us.md" >}}) | - | `apt` |
 | 
			
		||||
| [Generic]({{< relref "doc/usage/packages/generic.en-us.md" >}}) | - | any HTTP client |
 | 
			
		||||
| [Go]({{< relref "doc/usage/packages/go.en-us.md" >}}) | Go | `go` |
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user