Ruby Version Manager

програмне забезпечення

Ruby Version Manager (часто скорочується до абревіатури RVM) - це засіб командного рядка, який дозволяє легко встановлювати, керувати та працювати з декількома середовищами Ruby. Середовище Ruby включає: Ruby інтерпретатор, встановлені RubyGem’и та документацію. Тут є можливість перемикатися від одної версії Ruby до іншої, це дає можливість розробнику працювати над декількома проєктами з різними вимогами до версій. На додаток до MRI, стандартного інтерпретатора Ruby, RVM слугує для установки інших реалізацій Ruby. До них належать JRuby, MacRuby, IronRuby, Maglev, Rubinius, Ruby, Enterprise Edition, Topaz.

Ruby Version Manager
Автор Вейн Сегуін, Міхал Папіс
Перший випуск 2009
Стабільний випуск 1.26.11 (31 березня 2015; 8 років тому (2015-03-31))
Версії 1.29.12 (15 січня 2021)[1]
Операційна система UNIX-подібні
Мова програмування Bash, Ruby
Доступні мови Англійська
Українська мова Ні
Ліцензія Apache License 2.0
Репозиторій github.com/rvm/rvm
Вебсайт rvm.io

Основні завдання ред.

  • Фізичне розділення версій Ruby та наборів Gemset’ів
  • Спроможність мати кілька версій Ruby та перемикатися я між ними
  • Спроможність для кожної з версії Ruby мати свій набір Gemset’ів та перемикатися між ними

Підтримка проєкту співтовариством ред.

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 і т.д ... та швидко виявити будь-які області, в яких вони не працюють.

Управління Gem'ами ред.

RVM має дуже гнучку систему управління Gem'ами під назвою Named Gem Sets. Для Gemset’ів в RVM управління Gem'ами у різних версіях Ruby не проблема. RVM дозволяє додати невеликий текстовий файл в сховище вашого проєкту, замість перевірки безлічі gem’ів, які можуть призвести до непотрібного збільшення розміру сховища. Крім того, управління Gem'ами в RVM використовує загальний кеш каталог так, що тільки одна завантажена версія кожного Gem'а знаходиться на диску.

RVM допомагає впевнитися, що всі аспекти Ruby повністю знаходяться в просторі користувача та добре захищені від використання з поза головного сховища. Використання Ruby RVM'ом, таким чином, забезпечує більш високий рівень безпеки системи і, отже, знижує ризики. Крім того, оскільки всі процеси виконуються на рівні користувача, пошкоджений Ruby процес не може поставити під загрозу всю систему.

Посилання ред.

  1. Release 1.29.12 — 2021.