Використання Ruby
ServBay пропонує розробникам Ruby на macOS ефективне та гнучке середовище розробки. Завдяки системі керування пакетами ServBay ви можете легко паралельно встановлювати та керувати кількома версіями Ruby, а також за допомогою потужного файлу .servbay.config
для кожного проєкту вказувати необхідну версію Ruby. Це спрощує розробку та гарантує єдність середовища.
Огляд
Коротко про мову Ruby
Ruby — це динамічна, відкрита об'єктно-орієнтована мова програмування, відома своїм лаконічним і елегантним синтаксисом і високим рівнем піклування про продуктивність розробника. Її у середині 1990-х створив японський вчений Юкіхіро “Matz” Мацумото (Yukihiro "Matz" Matsumoto), а основна ідея — “робити програмування приємнішим”. Ruby сформували такі мови, як Perl, Smalltalk, Eiffel, Ada, Lisp, і велика увага приділяється читабельності й простоті коду.
У Ruby все є об’єктами. Мова підтримує різні парадигми програмування: об'єктно-орієнтовану, процедурну, функціональну. Світову популярність Ruby здобула з виходом у 2004 році вебфреймворка Ruby on Rails, який значно підвищив ефективність веброзробки. Сьогодні Ruby широко використовують у веброзробці (Rails, Sinatra), автоматизації, скриптах, прототипуванні та інших сферах. Її екосистема побудована навколо RubyGems (менеджера пакетів) і Bundler (інструмента керування залежностями).
Підтримка Ruby у ServBay
ServBay керує різними версіями Ruby як окремими пакетами. Це надає вам такі основні переваги:
- Паралельні версії: Можна одночасно встановлювати кілька версій Ruby (наприклад, Ruby 2.7, 3.0, 3.3, 3.4 тощо) без ризику конфліктів.
- Контроль версій на рівні проєкту: Завдяки унікальному файлу
.servbay.config
можна чітко задати потрібну версію Ruby для кожного проєкту. - Просте керування: Інтуїтивно переглядайте, встановлюйте чи видаляйте версії Ruby через графічний інтерфейс ServBay.
- Інтегроване керування Gems: Після встановлення Ruby одразу використовуйте команду
gem
для керування RubyGems.
Це особливо важливо для підтримки застарілих проєктів різних версій, створення нових (наприклад, Ruby on 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 -v
1Побачите, яка версія Ruby активна у поточній сесії (це залежить від глобальних налаштувань чи файлу
.servbay.config
у проєкті).Перевірити версію RubyGems:
bashgem -v
1Встановити Gem-пакет: Наприклад, для встановлення відомого генератора статичних сайтів Jekyll:
bashgem install jekyll
1Або для встановлення фреймворка Ruby on Rails:
bashgem install rails
1Запустити Ruby-скрипт: Створіть файл
hello.rb
із таким вмістом:ruby#!/usr/bin/env ruby puts "Hello from Ruby in ServBay!"
1
2Запустіть його через термінал:
bashruby hello.rb
1
Управління версією на рівні проєкту: .servbay.config
Одна з ключових переваг ServBay — підтримка конфігурацій середовища на рівні проєкту. Розмістивши файл .servbay.config
у корені вашого проєкту, ви фіксуєте потрібну версію Ruby саме для цього проєкту.
Переваги:
- Керування кількома мовами: Один файл для версій Ruby, PHP, Node.js, Python, Go, Java, .NET та інших мов.
- Гарантія однаковості: Команда розробників та різні середовища розгортання використовують точнісінько ту саму версію Ruby.
- Автоматичне перемикання: При переході командою
cd
у каталог з.servbay.config
, середовище ServBay автоматично застосує версіюRUBY_VERSION
, вказану у файлі.
Приклад конфігурації:
У корені вашого Ruby-проєкту створіть файл .servbay.config
й додайте змінну RUBY_VERSION
, щоб зазначити основну потрібну версію (наприклад, 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-project
1
2Створіть
.servbay.config
: У каталозіmy-ruby-project
створіть файл.servbay.config
із вмістом:iniRUBY_VERSION=2.7 # Припустимо, у вас вже встановлено Ruby 2.7.x
1(Переконайтеся, що 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 -v
1На екрані має з’явитися встановлена версія Ruby 2.7.x.
Запустіть скрипт:
bashruby app.rb
1Повинно з’явитися:
Project is using Ruby version: 2.7.x
(x — конкретна встановлена підверсія).Встановлення залежностей проєкту (приклад): Якщо проєкт використовує Bundler для роботи із залежностями (типово для Rails), виконайте:
bash# Якщо bundler ще не встановлений # gem install bundler bundle install
1
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).
Такий підхід дозволяє використовувати керування доменами, автоматичний HTTPS (якщо налаштовано) та уніфікований доступ до вашого додатка через ServBay.
Підсумок
ServBay суттєво спрощує розробку на Ruby під macOS. Завдяки зручному інтерфейсу керування пакетами та потужній проєктній прив’язці до версії через .servbay.config
, ви легко керуєте кількома версіями Ruby і Gems, отримуєте незалежність та однаковість ізольованих середовищ для різних проєктів і працюєте ефективніше.