Преимущества RVM - PullRequest
       4

Преимущества RVM

11 голосов
/ 22 июня 2011

Почему я / не должен использовать RVM?

Я новичок в языке ruby ​​и серверах в целом.У меня были некоторые проблемы с установкой с использованием RVM ... поэтому я склонен не использовать его прямо сейчас, но кажется, что это может облегчить установку в будущем?

Мне интересно услышать оваш опыт работы с RVM и ваши мысли относительно обслуживания сервера.

Ответы [ 5 ]

10 голосов
/ 22 июня 2011

RVM полезен, даже если вы не хотите устанавливать несколько версий одновременно. Я - любитель рубинов (PHP в течение дня :(), и у меня нет причин хотеть использовать старые версии, но я все еще использую RVM.

Установка рубина - это боль. Получение его из диспетчера пакетов (по крайней мере, в Ubuntu) дает вам устаревшую версию, которая меняет каталоги установки по умолчанию. У меня не было ничего, кроме проблем с этим.

Итак, вы думаете: «Я просто соберу это из источника». Сборка из исходного кода требует получения множества зависимостей и настройки параметров. Часто я собирал ruby ​​только для того, чтобы узнать, что забыл включить поддержку SSL или readline.

RVM позаботится обо всем этом. В 3 или около того командах у вас есть отлично построенная версия ruby.

И я даже не рассказал, как RVM управляет несколькими установками ruby ​​для вас, что является его убийственной функцией. Если у вас есть такая необходимость, другого здравомыслящего решения действительно не существует.

2 голосов
/ 22 июня 2011

RVM великолепен, так как позволяет устанавливать разные версии, не затрагивая установку Ruby по умолчанию в вашей системе.Это довольно похоже на virtualenv в Python.

Еще одно большое преимущество использования RVM - это наборы гемпов - вы можете создать столько наборов гемов, которые уникальны для версии и уровня патча ruby.

Я похвалил некоторые из его достоинств здесь , и вы также должны увидеть это сообщение в блоге .

С точки зрения обслуживания сервера - давайте возьмем установку для Пассажира дляпример;помните, что Passenger установлен как самоцвет, так что с помощью rvm выгода заключается в том, что вы можете иметь несколько установок пассажиров, привязанных к другой версии ruby.Конечно, обычно у вас есть Passenger, работающий на одной версии за раз, хотя есть способы, чтобы Passenger, в частности, работал на разных версиях Ruby.

1 голос
/ 22 июня 2011

Когда вы впервые привыкаете к Ruby, это может быть не совсем необходимо. Тем не менее, то, что он делает, настроит вас на успех в будущем. Потому что, как только вы попадаете в ловушку, вы можете в конечном итоге поиграть с проектами, которые нужно перейти, скажем, с MRI 1.8.x на 1.9.x. Или с 1.9.x до JRuby 1.6.x. Мой опыт показывает, что это происходит нерегулярно, но когда это происходит, RVM ничем не заменится.

Помимо этого, другая важная функция, которую я регулярно использую, - это возможность сегментировать один конкретный выпуск. Таким образом, у меня может быть среда для «стабильных» драгоценных камней и среда для «нестабильных» драгоценных камней. Например, когда Rails 3.1 находился в режиме кандидата на выпуск, у меня было одно основное рабочее пространство для 1.9.2 и отдельное пространство для Rails 3.1.rc? драгоценные камни на 1.9.2. Это позволяет мне продолжать разработку моих основных вещей на Rails 3.0 (с одной командой в CLI) без необходимости указывать полные пути к файлам соответствующих rails bin для использования старых файлов.

1 голос
/ 22 июня 2011

Я использую разные версии Ruby для разных проектов (вот где .rvmrc действительно удобен). Некоторые среды развертывания довольны 1.9, хотя есть пара устаревших серверов, использующих 1.8 по некоторым причинам. Кроме того, иногда я хочу запустить конкретную версию ruby, чтобы сравнить, как они работают. RVM делает все это для меня.

0 голосов
/ 22 июня 2011

Если вы используете платформу на основе Debian, где упаковщики / политики приводят к очень плохой установке по умолчанию, вы получите лучший опыт использования rvm.

...