Использование Ruby 
ServBay предоставляет эффективную и гибкую среду разработки для разработчиков Ruby на macOS. Благодаря системе управления пакетами ServBay вы легко сможете одновременно устанавливать и управлять несколькими версиями Ruby, а также использовать мощный файл .servbay.config для указания необходимой версии Ruby для каждого проекта, что упрощает рабочий процесс и гарантирует一致ность среды.
Обзор 
Кратко о языке Ruby 
Ruby — это динамический, открытый объектно-ориентированный язык программирования, известный своим лаконичным и элегантным синтаксисом и особым вниманием к производительности разработчика. Создан японским ученым Юкихиро «Матзом» Мацумото в середине 1990-х годов, основная философия языка — «делать программирование радостным». Язык был вдохновлён такими технологиями, как Perl, Smalltalk, Eiffel, Ada и Lisp, делая акцент на читаемости и компактности кода.
В Ruby всё является объектом. Поддерживаются разные парадигмы программирования: объектно-ориентированная, процедурная и функциональная. Популярность Ruby по всему миру во многом обусловлена выходом веб-фреймворка Ruby on Rails, выпущенного Дэвидом Хейнмейером Ханссоном (DHH) в 2004 году — он значительно ускорил разработку веб-приложений. Сегодня Ruby широко используется в веб-разработке (Rails, Sinatra), скриптинге, автоматизации, прототипировании и других сферах. Экосистема Ruby построена вокруг RubyGems (менеджер пакетов) и Bundler (управление зависимостями).
Поддержка Ruby в ServBay 
ServBay управляет различными версиями интерпретатора Ruby как отдельными программными пакетами, что даёт следующие преимущества:
- Многоверсионность: Устанавливайте несколько версий Ruby (например, 2.7, 3.0, 3.3, 3.4 и др.) одновременно без конфликтов.
 - Проектное управление версиями: Благодаря уникальному файлу 
.servbay.configвы можете точно указать, какая версия Ruby требуется для каждого проекта. - Упрощённое управление: Интуитивная графическая панель ServBay позволяет просматривать, устанавливать и удалять любые версии Ruby.
 - Интеграция с Gem: После установки Ruby вы можете напрямую работать с пакетами с помощью команды 
gem. 
Это незаменимо для поддержки устаревших проектов на разных версиях Ruby, разработки новых приложений (таких как Rails), а также для запуска специфических Ruby-инструментов.
Доступ к Ruby-пакетам 
- Откройте приложение ServBay.
 - В левой панели навигации выберите 
Пакеты (Packages). - На странице 
Пакетыпрокрутите вниз или выберите в левой категорииLanguages->Ruby. - В правой части отобразится список всех доступных пакетов Ruby.
 

Установка Ruby 
В списке пакетов вы увидите информацию о состоянии каждой версии Ruby:
- Название пакета: Имя, например 
Ruby 3.3. - Версия: Конкретный номер версии пакета.
 - Статус: Показывает 
Установлено(Installed) илиНе установлено(Not Installed). - Управление: Кнопки для действий.
 
Чтобы установить ещё не установленную версию Ruby (например, Ruby 3.3):
- Найдите нужную версию в списке.
 - Убедитесь, что статус — 
Not Installed. - Нажмите на иконку Загрузить/Установить (Download/Install) справа (обычно это стрелка вниз).
 - ServBay начнёт загрузку и установку выбранной версии Ruby. Процесс может занять некоторое время.
 - После успешной установки статус изменится на 
Installed, а иконка на Удалить (Uninstall) (мусорная корзина). 
Управление установленными версиями Ruby 
- Просмотр установленных версий: Пакеты со статусом 
Installedчётко показывают, какие версии Ruby уже установлены в вашей системе. - Удаление Ruby: Если какая-то версия больше не нужна, просто кликните по иконке Удалить (Uninstall) (мусорная корзина) рядом с ней, подтвердите действие и пакет будет удалён из системы.
 
Использование установленного Ruby 
После установки Ruby ServBay добавляет его в переменные окружения. При активированной среде ServBay в терминале вы сразу можете пользоваться командами ruby и gem.
Примеры часто используемых команд:
Проверить активную версию Ruby: Откройте терминал и выполните:
bashruby -v1На экране отобразится версия Ruby, активная для текущей сессии терминала. Эта версия может определяться как глобальной настройкой, так и проектным файлом
.servbay.config.Проверить версию RubyGems:
bashgem -v1Установить gem-пакет: Например, чтобы установить популярный статический генератор сайтов Jekyll:
bashgem install jekyll1Или для установки фреймворка Ruby on Rails:
bashgem install rails1Запустить Ruby-скрипт: Создайте файл
hello.rbсо следующим содержимым:ruby#!/usr/bin/env ruby puts "Hello from Ruby in ServBay!"1
2И выполните его в терминале:
bashruby hello.rb1
Проектное управление версиями: .servbay.config 
Одно из ключевых достоинств ServBay — поддержка проектных конфигураций среды. Разместив в корне проекта файл с именем .servbay.config, вы можете «заблокировать» нужную версию Ruby для данного проекта.
Преимущества:
- Мульти-языковое управление: В одном файле можно указать версии Ruby, PHP, Node.js, Python, Go, Java, .NET и других языков.
 - Гарантия一致ности: Все члены команды и разные среды развёртывания будут использовать идентичную версию Ruby.
 - Автоматическое переключение: При переходе в директорию с 
.servbay.configс помощьюcd, ServBay автоматически распознаёт и применяет указанные в нём параметрыRUBY_VERSION. 
Пример конфигурации:
Создайте в корне вашего Ruby-проекта файл .servbay.config и добавьте переменную RUBY_VERSION, чтобы указать нужную основную версию Ruby (например, 2.7, 3.3). ServBay автоматически выберет последнюю установленную версию из выбранной серии.
ini
# .servbay.config
# Указать основную версию Ruby для проекта (например, 3.3)
# ServBay будет применять самую свежую из установленных 3.3.x
RUBY_VERSION=3.3
# Можно указать настройки и для других языков
NODE_VERSION=18
# ... прочие параметры ...1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
После перехода в эту папку и активации среды ServBay, команда ruby -v покажет версию Ruby, указанную в .servbay.config (или самую новую из этой серии, если несколько патчей).
Простой пример использования 
Давайте создадим небольшой проект, чтобы показать работу .servbay.config:
Создайте папку проекта:
bashmkdir my-ruby-project cd my-ruby-project1
2Создайте
.servbay.config: В директорииmy-ruby-projectсоздайте файл.servbay.config:iniRUBY_VERSION=2.7 # Предположим, что Ruby 2.7.x уже установлен в ServBay1(Убедитесь, что Ruby 2.7 установлен в ServBay)
Создайте Ruby-скрипт: Создайте файл
app.rb:ruby#!/usr/bin/env ruby puts "Project is using Ruby version: #{RUBY_VERSION}"1
2Активация и проверка: (Убедитесь, что терминал активирован в среде ServBay) Находясь в директории
my-ruby-project, выполните:bashruby -v1На экране должна появиться версия Ruby 2.7.x.
Запуск скрипта:
bashruby app.rb1Результат:
Project is using Ruby version: 2.7.x(x — точный патч вашей версии).Установите зависимости проекта (пример): Если проект использует Bundler (часто для Rails), выполните:
bash# Если bundler ещё не установлен # gem install bundler bundle install1
2
3Bundler установит зависимости, указанные в
Gemfileпроекта, с учётом активной версии Ruby (2.7.x).
Теперь, если другой проект требует Ruby 3.4, просто пропишите в его .servbay.config строку RUBY_VERSION=3.4, и ServBay сам переключит окружение при смене директории.
Интеграция с веб-сервером (Rails, Sinatra и др.) 
Для приложений на Ruby on Rails, Sinatra и других фреймворках чаще всего используют серверы приложений, такие как Puma, Unicorn или Thin. Вы можете:
- Создать отдельный веб-сайт (Website) в ServBay для вашего приложения.
 - Настроить любой веб-сервер ServBay (Nginx, Caddy, Apache) как обратный прокси: перенаправляйте трафик нужного домена на порт, где слушает ваш Ruby-сервер (например, 
http://localhost:3000или Unix-сокет от Puma/Unicorn). 
Такое решение позволяет использовать возможности ServBay по управлению доменами, автоматическому HTTPS (если настроено) и единую точку входа для всех приложений.
Итоги 
ServBay значительно упрощает разработку на Ruby в macOS. С помощью интуитивного интерфейса для управления пакетами и мощной опции проектного контроля версий .servbay.config вы легко сможете поддерживать несколько версий Ruby и gem'ов, гарантировать изоляцию и стабильность среды для разных проектов, а значит, быть ещё эффективнее при разработке на Ruby.
