code.gitea.io/gitea@v1.22.3/docs/content/usage/packages/rubygems.zh-cn.md (about)

     1  ---
     2  date: "2021-07-20T00:00:00+00:00"
     3  title: "RubyGems 软件包注册表"
     4  slug: "rubygems"
     5  sidebar_position: 110
     6  draft: false
     7  toc: false
     8  menu:
     9    sidebar:
    10      parent: "packages"
    11      name: "RubyGems"
    12      sidebar_position: 110
    13      identifier: "rubygems"
    14  ---
    15  
    16  # RubyGems 软件包注册表
    17  
    18  为您的用户或组织发布 [RubyGems](https://guides.rubygems.org/) 软件包。
    19  
    20  ## 要求
    21  
    22  要使用RubyGems软件包注册表,您需要使用 [gem](https://guides.rubygems.org/command-reference/) 命令行工具来消费和发布软件包。
    23  
    24  ## 配置软件包注册表
    25  
    26  要注册软件包注册表,请编辑 `~/.gem/credentials` 文件并添加:
    27  
    28  ```ini
    29  ---
    30  https://gitea.example.com/api/packages/{owner}/rubygems: Bearer {token}
    31  ```
    32  
    33  | 参数    | 描述                                                                                  |
    34  | ------- | ------------------------------------------------------------------------------------- |
    35  | `owner` | 软件包的所有者                                                                        |
    36  | `token` | 您的[个人访问令牌](development/api-usage.md#通过-api-认证) |
    37  
    38  例如:
    39  
    40  ```
    41  ---
    42  https://gitea.example.com/api/packages/testuser/rubygems: Bearer 3bd626f84b01cd26b873931eace1e430a5773cc4
    43  ```
    44  
    45  ## 发布软件包
    46  
    47  通过运行以下命令来发布软件包:
    48  
    49  ```shell
    50  gem push --host {host} {package_file}
    51  ```
    52  
    53  | 参数           | 描述                     |
    54  | -------------- | ------------------------ |
    55  | `host`         | 软件包注册表的URL        |
    56  | `package_file` | 软件包 `.gem` 文件的路径 |
    57  
    58  例如:
    59  
    60  ```shell
    61  gem push --host https://gitea.example.com/api/packages/testuser/rubygems test_package-1.0.0.gem
    62  ```
    63  
    64  如果已经存在相同名称和版本的软件包,您将无法发布软件包。您必须先删除现有的软件包。
    65  
    66  ## 安装软件包
    67  
    68  要从软件包注册表安装软件包,您可以使用 [Bundler](https://bundler.io) 或 `gem`。
    69  
    70  ### Bundler
    71  
    72  在您的 `Gemfile` 中添加一个新的 `source` 块:
    73  
    74  ```
    75  source "https://gitea.example.com/api/packages/{owner}/rubygems" do
    76    gem "{package_name}"
    77  end
    78  ```
    79  
    80  | 参数           | 描述           |
    81  | -------------- | -------------- |
    82  | `owner`        | 软件包的所有者 |
    83  | `package_name` | 软件包名称     |
    84  
    85  例如:
    86  
    87  ```
    88  source "https://gitea.example.com/api/packages/testuser/rubygems" do
    89    gem "test_package"
    90  end
    91  ```
    92  
    93  之后运行以下命令:
    94  
    95  ```shell
    96  bundle install
    97  ```
    98  
    99  ### gem
   100  
   101  执行以下命令:
   102  
   103  ```shell
   104  gem install --host https://gitea.example.com/api/packages/{owner}/rubygems {package_name}
   105  ```
   106  
   107  | 参数           | 描述           |
   108  | -------------- | -------------- |
   109  | `owner`        | 软件包的所有者 |
   110  | `package_name` | 软件包名称     |
   111  
   112  例如:
   113  
   114  ```shell
   115  gem install --host https://gitea.example.com/api/packages/testuser/rubygems test_package
   116  ```
   117  
   118  ## 支持的命令
   119  
   120  ```
   121  gem install
   122  bundle install
   123  gem push
   124  ```