Каковы преимущества RVM на Linux? - PullRequest
4 голосов
/ 17 июня 2011

Пожалуйста, поймите, что я не пытаюсь рушить RVM. Я просто хотел бы понять, почему он так популярен в сообществе Ruby.

По-видимому, есть две основные причины использования RVM - для управления / переключения между различными версиями Ruby и для управления конкретным набором гемов в каждом проекте. Однако, похоже, что в Linux существуют более понятные способы добиться того же:

  • Я могу установить разные версии ruby из хранилищ через штатный менеджер пакетов или сборка из исходного кода и установить в виде пакета. Я могу переключаться между версиями, используя альтернативы обновления (по крайней мере, в Debian, Ubuntu, Fedora).
  • Я могу использовать Bundler для управления наборами драгоценные камни для разных проектов, а обрисовано в общих чертах в этом сообщении в блоге .

Учитывая вышесказанное, я не понимаю, почему я хотел бы использовать RVM для управления версиями и гемами Ruby. Идея использования bash-скрипта для установки программного обеспечения в моей системе вне менеджера пакетов выглядит очень хакерской, чувство, подкрепленное этим постом в блоге .

Не будучи пользователем Mac, я полностью догадываюсь здесь, но я подумал, что, возможно, OS X очень популярна в сообществе Ruby. Если не существует системы, подобной альтернативам обновления для переключения версий ruby ​​на OS X, RVM может быть лучшим решением, и эта идея перенесена и в linux ... как я уже сказал, это всего лишь предположение.

Так почему же RVM так популярен и почему я должен предпочесть его обычному менеджеру пакетов + Bundler в Debian или Ubuntu?

Ответы [ 2 ]

3 голосов
/ 17 июня 2011
  1. RVM портативный
  2. update-alternatives работает глобально, RVM работает в контексте оболочки / скрипта - я полагаю, это модифицирует пути env. Теперь представьте, что на одном сервере есть два приложения: одно 1.8.7 и другое 1.9.2
  3. Использование Ruby EE требует ручной установки - для RVM требуется всего одна команда для его установки.
  4. У меня было слишком много проблем со смешанными каталогами драгоценных камней только с 1.8.7 или 1.9.2 только в Debian.
  5. Простое резервное копирование - просто скопируйте .rvm dir.
  6. Согласованная кластеризация (на одной платформе) - просто поделитесь одним .rvm dir.
3 голосов
/ 17 июня 2011

Если вам нужно управлять многими проектами с различными версиями Ruby и специальными Rails, такими как я (у меня есть 3 проекта для управления, использующих Rails 2.3.5, Rails 3.0.5 и Rails 3.1 rc1), тогда RVM является необходимым решением.Как вы, наверное, знаете, Rails 2.3.x не поддерживает пакетирование и использует старые гемы, поэтому управление версиями - это способ облегчить разработку.Я надеюсь, что помог вам немного.

...