Ruby: Настройка окружения
2026-02-26 18:35 Diff

В поставку Ruby входит утилита gem, через которую ставятся, обновляются и удаляются зависимости. В целом gem — это часть RubyGems, механизма управления библиотеками или пакетами в Ruby.

Каждая библиотека в Ruby называется гемом. Программисты так и говорят: "Давайте использовать вот этот гем". Список всех гемов можно найти:

  • На сайте RubyGems
  • В модерируемом каталоге RubyToolbox, в котором гемы разбиты по категориям

Как и у любого пакетного менеджера, у RubyGems есть пути, по которым можно ставить библиотеки и менять переменные окружения. Такое может понадобиться при работе с Docker.

Чтобы увидеть настройки RubyGems, нужно набрать команду gem env:

Обратите внимание на GEM PATHS. В Ruby все гемы по умолчанию ставятся в общую директорию, а не в директорию проекта. То есть неважно откуда мы выполняем команду установки, все гемы будут лежать в одном месте. Тогда возникает вопрос, как RubyGems работает с разными версиями одной и той же библиотеки? Очень просто, имя директории гема включает в себя и версию:

Несколько примеров того, как работать с гемами:

RubyGems модифицирует пути загрузки, по которым инструкция require производит поиск Ruby-кода. Каждый раз когда выполняется require, RubyGems всего лишь добавляет директорию lib гема в этот список путей.

Все это так же работает и через файлы.

И запуск: