Про інструмент керування версіями RVM (Ruby Version Manager)

RVM (Ruby Version Manager) — це популярний інструмент для керування версіями мови програмування Ruby та пов’язаними з нею гемами (бібліотеками). Основні функції RVM включають можливість встановлення, перемикання та управління різними версіями Ruby для зручності розробників.

Основні можливості RVM

  1. Встановлення Ruby. RVM дозволяє легко встановлювати різні версії Ruby, включаючи MRI (Matz’s Ruby Interpreter), JRuby, Rubinius, Ruby Enterprise Edition та інші.

  2. Перемикання між версіями. Ви можете швидко перемикатися між різними версіями Ruby, що дозволяє тестувати ваш код або запускати різні проекти з різними версіями Ruby.

  3. Гемсети (Gemsets). RVM підтримує створення окремих гемсетів для кожної версії Ruby. Це дозволяє ізолювати залежності проектів і уникати конфліктів між бібліотеками.

  4. Автоматичне завантаження. Використання .rvmrc або .ruby-version файлів для автоматичного завантаження потрібної версії Ruby і гемсету при вході в каталог проекту.

Встановлення RVM

Для встановлення RVM на системах Unix-подібних операційних систем (наприклад, macOS або Linux), виконайте наступну команду в терміналі:

\curl -sSL https://get.rvm.io | bash -s stable

Після завершення установки, завантажте RVM у поточну сесію терміналу:

source ~/.rvm/scripts/rvm

Використання RVM

  1. Перевірка версії RVM:

    rvm --version
    
  2. Встановлення нової версії Ruby:

    rvm install 2.7.1
    
  3. Встановлення конкретної версії Ruby:

    rvm use 2.7.1
    
  4. Встановлення версії Ruby за замовчуванням:

    rvm use 2.7.1 --default
    
  5. Створення гемсету:

    rvm gemset create my_project
    
  6. Використання гемсету:

    rvm gemset use my_project
    

Приклад конфігурації проекту

У каталозі вашого проекту створіть файл .ruby-version з потрібною версією Ruby:

2.7.1

І файл .ruby-gemset з потрібним гемсетом:

my_project

При вході в каталог проекту RVM автоматично активує вказану версію Ruby і гемсет.

Переваги RVM

  • Легкість у використанні: Простий і інтуїтивний інтерфейс командного рядка.
  • Гнучкість: Можливість працювати з кількома версіями Ruby і гемсетами.
  • Ізоляція проектів: Гемсети допомагають уникати конфліктів між залежностями різних проектів.

RVM є потужним інструментом для Ruby-розробників, забезпечуючи гнучкість і контроль над версіями Ruby та залежностями проектів.