mirror of
https://gitea.com/gitea/docs.git
synced 2025-05-11 02:55:06 +00:00
Signed-off-by: appleboy <appleboy.tw@gmail.com> Reviewed-on: https://gitea.com/gitea/docs/pulls/195 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: appleboy <appleboy.tw@gmail.com> Co-committed-by: appleboy <appleboy.tw@gmail.com>
3.1 KiB
3.1 KiB
date, slug, sidebar_position
date | slug | sidebar_position |
---|---|---|
2021-07-20T00:00:00+00:00 | composer | 15 |
Composer 套件註冊表
為您的用戶或組織發布 Composer 套件。
需求
要使用 Composer 套件註冊表,您可以使用 Composer 來消費套件,並使用像 curl
這樣的 HTTP 上傳客戶端來發布套件。
發布套件
要發布 Composer 套件,請執行 HTTP PUT 操作,請求體中包含套件內容。
套件內容必須是包含 composer.json
文件的壓縮 PHP 項目。
如果已經存在同名同版本的套件,您不能發布該套件。您必須先刪除現有的套件。
PUT https://gitea.example.com/api/packages/{owner}/composer
參數 | 描述 |
---|---|
owner |
套件的擁有者。 |
如果 composer.json
文件不包含 version
屬性,您必須將其作為查詢參數提供:
PUT https://gitea.example.com/api/packages/{owner}/composer?version={x.y.z}
使用 HTTP 基本身份驗證的範例請求:
curl --user your_username:your_password_or_token \
--upload-file path/to/project.zip \
https://gitea.example.com/api/packages/testuser/composer
或者將套件版本作為查詢參數指定:
curl --user your_username:your_password_or_token \
--upload-file path/to/project.zip \
https://gitea.example.com/api/packages/testuser/composer?version=1.0.3
如果您使用 2FA 或 OAuth,請使用 個人訪問令牌 代替密碼。
服務器響應以下 HTTP 狀態碼。
HTTP 狀態碼 | 含義 |
---|---|
201 Created |
套件已發布。 |
400 Bad Request |
套件無效。 |
409 Conflict |
已存在具有相同參數組合的套件文件。 |
配置套件註冊表
要註冊套件註冊表,您需要將其添加到 Composer 的 config.json
文件中(通常可以在 <user-home-dir>/.composer/config.json
下找到):
{
"repositories": [
{
"type": "composer",
"url": "https://gitea.example.com/api/packages/{owner}/composer"
}
]
}
要使用憑證訪問套件註冊表,您必須在 auth.json
文件中指定它們,如下所示:
{
"http-basic": {
"gitea.example.com": {
"username": "{username}",
"password": "{password}"
}
}
}
參數 | 描述 |
---|---|
owner |
套件的擁有者。 |
username |
您的 Gitea 用戶名。 |
password |
您的 Gitea 密碼或個人訪問令牌。 |
安裝套件
要從套件註冊表中安裝套件,請執行以下命令:
composer require {package_name}
您可以選擇指定套件版本:
composer require {package_name}:{package_version}
參數 | 描述 |
---|---|
package_name |
套件名稱。 |
package_version |
套件版本。 |