0
0
Fork 0
mirror of https://codeberg.org/forgejo/docs.git synced 2024-12-26 22:51:22 -05:00
forgejo-docs/user/packages/rubygems.md

3 KiB

layout title license origin_url
~/layouts/Markdown.astro RubyGems Packages Repository Apache-2.0 faa28b5a44/docs/content/doc/usage/packages/rubygems.en-us.md

Publish RubyGems packages for your user or organization.

Requirements

To work with the RubyGems package registry, you need to use the gem command line tool to consume and publish packages.

Configuring the package registry

To register the package registry edit the ~/.gem/credentials file and add:

---
https://forgejo.example.com/api/packages/{owner}/rubygems: Bearer {token}
Parameter Description
owner The owner of the package.
token Your [personal access token]({{< relref "doc/developers/api-usage.en-us.md#authentication" >}}).

For example:

---
https://forgejo.example.com/api/packages/testuser/rubygems: Bearer 3bd626f84b01cd26b873931eace1e430a5773cc4

Publish a package

Publish a package by running the following command:

gem push --host {host} {package_file}
Parameter Description
host URL to the package registry.
package_file Path to the package .gem file.

For example:

gem push --host https://forgejo.example.com/api/packages/testuser/rubygems test_package-1.0.0.gem

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 package from the package registry you can use Bundler or gem.

Bundler

Add a new source block to your Gemfile:

source "https://forgejo.example.com/api/packages/{owner}/rubygems" do
  gem "{package_name}"
end
Parameter Description
owner The owner of the package.
package_name The package name.

For example:

source "https://forgejo.example.com/api/packages/testuser/rubygems" do
  gem "test_package"
end

Afterwards run the following command:

bundle install

gem

Execute the following command:

gem install --host https://forgejo.example.com/api/packages/{owner}/rubygems {package_name}
Parameter Description
owner The owner of the package.
package_name The package name.

For example:

gem install --host https://forgejo.example.com/api/packages/testuser/rubygems test_package

Supported commands

gem install
bundle install
gem push