Реестр пакетов RubyGem
Подготовка к работе
Для работы с пакетами Ruby требуется официальная утилита gem.
Проверить параметры окружения:
gem -v
В случае, если утилита не установлена, обратитесь к документации поставщика для установки на вашу ОС по ссылке.
Для работы с реестром Ruby, необходимо получить транспортный токен GitFlic. С инструкцией по получению токена можно ознакомиться на странице.
В документации ниже встречается атрибут {домен_gitflic} На его место необходимо указать домен, в зависимости от версии:
- для SaaS версии
registry.gitflic.ru - для self-hosted
localhost:8080
Домен и порт для self-hosted версии может отличаться.
Настройка реестра RubyGems
Для публикации пакетов в реестр RubyGems необходимо создать или отредактировать файл конфигурации ~/.gem/credentials и добавить.
---
{url1 в зависимости от уровня репозитория}: {transport_token}
{url2 в зависимости от уровня репозитория}: {transport_token}
Обратите внимание
Может потребоваться дополнительное назначение прав для файла
chmod 0600 /Users/user/.gem/credentials
| Уровень | URL |
|---|---|
| Проект | http(s)://{домен_gitflic}/project/{ownerAlias}/{projectAlias}/package/-/rubygem |
| Компания | http(s)://{домен_gitflic}/company/{companyAlias}/package/-/rubygem |
| Инстанс | http(s)://{домен_gitflic}/registry/package/-/rubygem |
| Переменная в URL | Описание |
|---|---|
ownerAlias |
Псевдоним владельца проекта |
projectAlias |
Псевдоним проекта |
companyAlias |
Псевдоним компании |
Работа с реестром
Добавление источника для установки пакетов
Чтобы добавить реестр в качестве источника необходимо выполнить:
gem sources -a {url в зависимости от уровня репозитория}
Примеры:
-
Для реестра проекта
gem sources -a --host http(s)://{username}:{transport_token}@{домен_gitflic}/project/{ownerAlias}/{projectAlias}/package/-/rubygem -
Для реестра компании
gem sources -a --host http(s)://{username}:{transport_token}@{домен_gitflic}/company/{companyAlias}/package/-/rubygem -
Для реестра инстанса
gem sources -a --host http(s)://{username}:{transport_token}@{домен_gitflic}/registry/package/-/rubygem
где {username} - имя пользователя, {transport_token} - транспортный токен
Проверьте выполнение команды
Проверить текущие параметры окружения можно командой gem env
Установка пакетов
Для установки пакета выполните команду:
gem install {gem_name}
Также можно указать дополнительный параметр с URL для установки:
gem install {gem_name} --source http(s)://{username}:{transport_token}@{домен_gitflic}/{путь_до_реестра}/package/-/rubygem
где {gem_name} - название пакета, {username} - имя пользователя, {transport_token} - транспортный токен
Публикация и удаление пакета
Для публикации пакета выполните:
gem push {путь_до_gem} --host {url_реестра}
- Для реестра проекта
gem push {путь_до_gem} --host http(s)://{домен_gitflic}/project/{ownerAlias}/{projectAlias}/package/-/rubygem - Для реестра компании
gem push {путь_до_gem} --host http(s)://{домен_gitflic}/company/{companyAlias}/package/-/rubygem - Для реестра инстанса
gem push {путь_до_gem} --host http(s)://{домен_gitflic}/registry/package/-/rubygem
Для удаления пакета выполните
gem yank {gem_name} -v {version} --host {url_реестра}
yank не удаляет пакет из реестра, а только убирает его из индекса для поиска. Учитывайте это при работе с реестром. Физически удалить пакет из реестра можно через веб-интерфейс.
Работа с Bundler
Для работы с Bundler необходимо создать Gemfile и добавить в него следующую информацию:
-
Для добавления источника
source "{url в зависимости от уровня репозитория}" -
Добавления источника для конкретного гема
source "{url в зависимости от уровня репозитория}" do gem "test_package" end
В случае если выключен анонимный доступ, указать credentials аналогично установке с помощью утилиты gem.
Работа с rbenv
Использование утилиты rbenv подразумевается, когда в системе предустановлен Ruby и возникают проблемы с его обновлением до актуальной версии.
Установка rbenv:
Следующим шагом необходимо инициализировать утилиту:
rbenv init
Перезагрузите терминал или откройте новую сессию, чтобы изменения вступили в силу.
Далее требуется выполнить последовательность команд для установки необходимой версии Ruby:
# Просмотр доступных версий
rbenv versions
# Установка выбранной версии
rbenv install 3.4.5
# Указание установленной версии для работы
rbenv global 3.4.5
rbenv local 3.4.5
# Перезапись инструкций для Ruby
rbenv rehash
Дополнительно пропишите следующие инструкции в ~/.bash_profile при использовании bash или ~/.zshenv при использовании zsh
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"