code.gitea.io/gitea@v1.22.3/docs/content/usage/packages/cran.en-us.md (about) 1 --- 2 date: "2023-01-01T00:00:00+00:00" 3 title: "CRAN Package Registry" 4 slug: "cran" 5 draft: false 6 toc: false 7 menu: 8 sidebar: 9 parent: "packages" 10 name: "CRAN" 11 sidebar_position: 35 12 identifier: "cran" 13 --- 14 15 # CRAN Package Registry 16 17 Publish [R](https://www.r-project.org/) packages to a [CRAN](https://cran.r-project.org/)-like registry for your user or organization. 18 19 ## Requirements 20 21 To work with the CRAN package registry, you need to install [R](https://cran.r-project.org/). 22 23 ## Configuring the package registry 24 25 To register the package registry you need to add it to `Rprofile.site`, either on the system-level, user-level (`~/.Rprofile`) or project-level: 26 27 ``` 28 options("repos" = c(getOption("repos"), c(gitea="https://gitea.example.com/api/packages/{owner}/cran"))) 29 ``` 30 31 | Parameter | Description | 32 | --------- | ----------- | 33 | `owner` | The owner of the package. | 34 35 If you need to provide credentials, you may embed them as part of the url (`https://user:password@gitea.example.com/...`). 36 37 ## Publish a package 38 39 To publish a R package, perform a HTTP `PUT` operation with the package content in the request body. 40 41 Source packages: 42 43 ``` 44 PUT https://gitea.example.com/api/packages/{owner}/cran/src 45 ``` 46 47 | Parameter | Description | 48 | --------- | ----------- | 49 | `owner` | The owner of the package. | 50 51 Binary packages: 52 53 ``` 54 PUT https://gitea.example.com/api/packages/{owner}/cran/bin?platform={platform}&rversion={rversion} 55 ``` 56 57 | Parameter | Description | 58 | ---------- | ----------- | 59 | `owner` | The owner of the package. | 60 | `platform` | The name of the platform. | 61 | `rversion` | The R version of the binary. | 62 63 For example: 64 65 ```shell 66 curl --user your_username:your_password_or_token \ 67 --upload-file path/to/package.zip \ 68 https://gitea.example.com/api/packages/testuser/cran/bin?platform=windows&rversion=4.2 69 ``` 70 71 If you are using 2FA or OAuth use a [personal access token](development/api-usage.md#authentication) instead of the password. 72 73 You cannot publish a package if a package of the same name and version already exists. You must delete the existing package first. 74 75 The server responds with the following HTTP Status codes. 76 77 | HTTP Status Code | Meaning | 78 | ----------------- | ------- | 79 | `201 Created` | The package has been published. | 80 | `400 Bad Request` | The package is invalid. | 81 | `409 Conflict` | A package file with the same combination of parameters exists already. | 82 83 ## Install a package 84 85 To install a R package from the package registry, execute the following command: 86 87 ```shell 88 install.packages("{package_name}") 89 ``` 90 91 | Parameter | Description | 92 | -------------- | ----------- | 93 | `package_name` | The package name. | 94 95 For example: 96 97 ```shell 98 install.packages("testpackage") 99 ```