Автор | Вейн Сегуін, Міхал Папіс |
---|---|
Перший випуск | 2009 |
Стабільний випуск | 1.26.11 (31 березня 2015 ) |
Версії | 1.29.12 (15 січня 2021)[1] |
Операційна система | UNIX-подібні |
Мова програмування | Bash, Ruby |
Доступні мови | Англійська |
Українська мова | Ні |
Ліцензія | Apache License 2.0 |
Репозиторій | github.com/rvm/rvm |
Вебсайт | rvm.io |
Ruby Version Manager (часто скорочується до абревіатури RVM) - це засіб командного рядка, який дозволяє легко встановлювати, керувати та працювати з декількома середовищами Ruby. Середовище Ruby включає: Ruby інтерпретатор, встановлені RubyGem’и та документацію. Тут є можливість перемикатися від одної версії Ruby до іншої, це дає можливість розробнику працювати над декількома проєктами з різними вимогами до версій. На додаток до MRI, стандартного інтерпретатора Ruby, RVM слугує для установки інших реалізацій Ruby. До них належать JRuby, MacRuby, IronRuby, Maglev, Rubinius, Ruby, Enterprise Edition, Topaz.
RVM підтримується співтовариством за допомогою звернень до сховища проєкту, яке розташоване на GItHub [Архівовано 21 лютого 2016 у Wayback Machine.]
Користувачі RVM мають змогу отримати допомогу від співтовариства за допомогою групи Google Mailing List [Архівовано 13 травня 2008 у Wayback Machine.] або у режимі реального часу через RVM IRC канал.
RVM дозволяє розгортати кожен проєкт зі своїм власним, повністю самодостатнім та спеціалізованим середовищем обраною версією Ruby та наборі gemset'ів. Обраний набір gemset'ів дозволяє уникнути конфліктів між версіями проєктів, які приводять до помилок трасування та забирають багато часу на їх усунення. RVM не встановлює інших gem’ів, крім тих які є необхідними. Це робить роботу з декількома складними проєктами, де кожен має довгий список залежностей gem’ів, більш ефективною. RVM дозволяє легко перевіряти оновлення gem’ів. Засіб є досить гнучким, що дозволяє підтримувати набір gem’ів у кожному окремому середовищі.
За допомогою API командного рядка, RVM зменшує складність багатьох аспектів Ruby розробки. З RVM, ви можете мати ідентичні середовища для розробки, тестування та провадження. Тут немає прихованих підводних каменів, якщо проєкт працює на одному з них, він буде працювати на всіх. За допомогою gemset’ів ви маєте змогу безпечно та відразу транспортувати зміни з одного середовища в інше. RVM призначений і для Ruby, а не тільки для Rails. Кожний проєкт заснований на Ruby виграє від використання RVM.
RVM спрощує тестування, тут є можливість запускати набір тестів, Rack завдання, контрольні точки та команди gem’ів з різних версій Ruby одночасно. Це означає, що ви можете легко переконатися, що ваші програми працюють в Ruby, 1.8.x, РЗЕ, МРТ 1.9.1, JRuby і т.д ... та швидко виявити будь-які області, в яких вони не працюють.
RVM має дуже гнучку систему управління Gem'ами під назвою Named Gem Sets. Для Gemset’ів в RVM управління Gem'ами у різних версіях Ruby не проблема. RVM дозволяє додати невеликий текстовий файл в сховище вашого проєкту, замість перевірки безлічі gem’ів, які можуть призвести до непотрібного збільшення розміру сховища. Крім того, управління Gem'ами в RVM використовує загальний кеш каталог так, що тільки одна завантажена версія кожного Gem'а знаходиться на диску.
RVM допомагає впевнитися, що всі аспекти Ruby повністю знаходяться в просторі користувача та добре захищені від використання з поза головного сховища. Використання Ruby RVM'ом, таким чином, забезпечує більш високий рівень безпеки системи і, отже, знижує ризики. Крім того, оскільки всі процеси виконуються на рівні користувача, пошкоджений Ruby процес не може поставити під загрозу всю систему.