Ruby Version Manager

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Ruby Version Manager
Логотип Ruby Version Manager
Тип програмне забезпечення
Автор(и) Вейн Сегуін, Міхал Папіс
Перший випуск 2009
Стабільний випуск 1.26.11 (31 березня 2015; 1327 днів тому)
Операційна система UNIX-подібні
Написано на Bash, Ruby
Доступні мови Англійска
Українська Ні
Ліцензія Apache License 2.0
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

Підтримка користувачів[ред. | ред. код]

Користувачі RVM мають змогу отримати допомогу від співтовариства за допомогою групи Google Mailing List або у режимі реального часу через 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 процес не може поставити під загрозу всю систему.

Посилання[ред. | ред. код]