RVM (Ruby Version Manager) — це популярний інструмент для керування версіями мови програмування Ruby та пов’язаними з нею гемами (бібліотеками). Основні функції RVM включають можливість встановлення, перемикання та управління різними версіями Ruby для зручності розробників.
Основні можливості RVM
-
Встановлення Ruby. RVM дозволяє легко встановлювати різні версії Ruby, включаючи MRI (Matz’s Ruby Interpreter), JRuby, Rubinius, Ruby Enterprise Edition та інші.
-
Перемикання між версіями. Ви можете швидко перемикатися між різними версіями Ruby, що дозволяє тестувати ваш код або запускати різні проекти з різними версіями Ruby.
-
Гемсети (Gemsets). RVM підтримує створення окремих гемсетів для кожної версії Ruby. Це дозволяє ізолювати залежності проектів і уникати конфліктів між бібліотеками.
-
Автоматичне завантаження. Використання
.rvmrc
або.ruby-version
файлів для автоматичного завантаження потрібної версії Ruby і гемсету при вході в каталог проекту.
Встановлення RVM
Для встановлення RVM на системах Unix-подібних операційних систем (наприклад, macOS або Linux ), виконайте наступну команду в терміналі:
\curl -sSL https://get.rvm.io | bash -s stable
Після завершення установки, завантажте RVM у поточну сесію терміналу:
source ~/.rvm/scripts/rvm
Використання RVM
-
Перевірка версії RVM:
rvm --version
-
Встановлення нової версії Ruby:
rvm install 2.7.1
-
Встановлення конкретної версії Ruby:
rvm use 2.7.1
-
Встановлення версії Ruby за замовчуванням:
rvm use 2.7.1 --default
-
Створення гемсету:
rvm gemset create my_project
-
Використання гемсету:
rvm gemset use my_project
Приклад конфігурації проекту
У каталозі вашого проекту створіть файл .ruby-version
з потрібною версією Ruby:
2.7.1
І файл .ruby-gemset
з потрібним гемсетом:
my_project
При вході в каталог проекту RVM автоматично активує вказану версію Ruby і гемсет.
Переваги RVM
- Легкість у використанні: Простий і інтуїтивний інтерфейс командного рядка.
- Гнучкість: Можливість працювати з кількома версіями Ruby і гемсетами.
- Ізоляція проектів: Гемсети допомагають уникати конфліктів між залежностями різних проектів.
RVM є потужним інструментом для Ruby-розробників, забезпечуючи гнучкість і контроль над версіями Ruby та залежностями проектів.