Ruby Version Manager

Ruby Version Manager
АвторВейн Сегуін, Міхал Папіс
Перший випуск2009
Стабільний випуск1.26.11 (31 березня 2015; 9 років тому (2015-03-31))
Версії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.

Основні завдання

[ред. | ред. код]
  • Фізичне розділення версій 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.