Почему я должен заботиться о функции Gemset RVM при использовании Bundler? - PullRequest
41 голосов
/ 14 января 2011

Я просто не понимаю.Я подумал, Bundler был разработан для разрешения конфликтов версий между гемами.Так что мне просто нужно require "bundler/setup" и все в порядке, зная, что Bundler загрузит правильные версии всех моих драгоценных камней и их зависимостей.Я знаю, что RVM отлично подходит для управления несколькими Ruby, но зачем мне заботиться о функции Gemset?Я что-то здесь скучаю?Может ли это сделать мое развитие еще проще?Возможно, некоторые из вас могут дать мне несколько советов по поводу идеального RVM + Bundler рабочего процесса как для разработки, так и для производства.

Я также не знаю когда RVM начинает переключаться на другой Ruby.Я знаю, что у меня может быть файл .rvmrc в моем проекте, но нужно ли cd к этому каталогу, чтобы произошло переключение?

Кроме того, я обычно использую Passenger для разработки, поскольку благодаря Passenger.prefpane интеграция в Mac OS великолепна.Могу ли я сделать это с помощью RVM или есть лучший способ сделать это? Пассажир распознает .rvmrc файлы и переключается на правильный Gemset?

Ответы [ 3 ]

24 голосов
/ 14 января 2011

Почему я должен заботиться о функции Gemset RVM, когда я использую Bundler?

Вы не должны.

Хорошо, если вы хотите , вы можете заботиться, конечно, поэтому я должен лучше сказать "Вам не нужно".

Я только что прослушал интервью подкаста с одним изЧлены основной команды Bundler , которые в основном сказали, что с тех пор, как он начал использовать Bundler, он прекратил использовать Gemsets, потому что они избыточны.

Вот сообщение в блоге, в котором обсуждается та же проблема, с некоторыми примерами.

6 голосов
/ 14 января 2011

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

Пассажир не читает .rvmrc, насколько мне известно. Насколько мне известно, вы не можете запускать разные пассажирские проекты под разными рубинами. Моя установка по умолчанию для рельсов имеет только bundler и rake в глобальном наборе гемов. Я позволил бандлеру взять на себя управление и управлять остальным проектом драгоценных камней, как вы описали. Работает довольно хорошо.

1 голос
/ 04 февраля 2011

Вам определенно следует использовать наборы гемов, если вы ожидаете когда-либо изменить версию вашего комплектовщика. И вы можете использовать наборы гемов для управления гемами, которые не имеют особого значения для вашего приложения Rails (wirble и т. Д.).

...