Pull to refresh

Comments 29

RVM можно применить во всех случаях, тогда зачем вообще нужен rbenv? Скорость работы?
Для неопытного пользователя проще разобраться в rbenv. Плюс к тому же rbenv шустрее работает. Т.к. в последнее время все проекты идут с bundler (в rails 3.2 вовсе исключили возможность использовать vendor/plugins), то фича гемсетов rvm бесполезна, соответственно тратить время на то, как она работает в rvm, не стоит.
Вы всё правильно говорите. Но есть одно НО!
Рельсы это не всё руби.
Для разработки проектов именно на руби и помогают гемсеты.
И причем идет речь об машине девелопера, у которого без гемсетов в gem list будет туева куча гемов.
Сделал проект — удалил гемсет, освободил место на ноуте. Всё просто и удобно.
В любом проекте можно использовать bundler, не только в rails
так используется. но как-то на локалькой тачке куда класть гемы? в папку проекта? зачем?
Для дебага и изучения исходного кода гемов. Если гемы плохо документированны, очень помогает. Да и вообще, помогает это еще в изучении работы гемов
а чем то, что вы кладете гемы в паку проектов, упрощает просмотр их исходного кода?

В RubyMine они у вас показываются в папке проекта, а перейти можно по команде Go to File
в консоли — cd `gem which имя_гема`
Если в RubyMine такая фишка есть — это очень хорошо. Но во многих IDE, к сожалению, нет
$ gem install gem-open
$ bundle exec gem open gem-i-want-to-see-sources-of
Есть такая команда bundle open gem name ( например bundle open rails) открывает в $EDITOR гем который прописан в текущем Gemfile
В место по умолчанию, куда ставит gem install. Bundler при bundle exec из всё кучи джемов использует только те, что прописаны в Gemfile.lock, поэтому никаких конфликтов не будет.
rbenv/RVM это что-то типа virtualenv, только для руби?
ИМХО
rbrnv — достаточно в большинстве кейсов как для разработки так и для продакшена, и устроен проще в случае проблем можно и самому разобраться.
rvm — довольно сложен и понять что проблема именно rvm можно не сразу.
Полностью перешел с rvm на rbenv и вздохнул с облегчением, такого костыля (rvm) давно не видел.
Единственная проблема в продакшене с rbenv — это один ruby для всего пассажира, что не всегда гуд.
А если попробовать в passenger_ruby указать ~/.rbenv/shims/ruby и в каждом проекте сделать local ruby?
не пробовал, но думаю нужен абсолютный путь
Путь аболютный нужен — это же не проблема ~ назменить на /home/user. Есть еще альтернатива passenger — это unicorn. С ним проблем в настройке разных версий ruby на разных проектах не будет.
с shims не работает. за unicorn спасибо кеп.
У Passenger есть Standalone mod
Можно юзать на одном сервере несколько пасажиров с разным ruby.
да, это выход, как и заюзать unicorn/mongrel/etc
а нужно ли новичку «разбираться в» том или другом? для новичка будет гораздо подезнее писать код для стабильного руби и текущей версии библиотек. rvm просто работает и не стоит тут писать о лёгкости для новичков. напишите лучше какую проблему в работающем rvm решает rbenv. и если это скорость, тогда где тесты?
Да, для новичка будет проще. Но как ни странно у многих новичков стоит rvm, который, как оказывается, им вовсе не нужен. Они тратят попусту время на изучение штуки, которая уходит в небытие с каждым днем. Кстати, используют они его потому что в самом авторитетном учебнике по изучению Rails автор настоятельно рекомендует использовать его.
PS. А еще в rbenv можно переключиться на системный ruby без особых проблем, не перезагружая shell и ничего не редактируя: rbenv global system
Если верить комментам, то походу я тут единственный, кого устраивает и кому кристально понятен столь удобный и простой тул — RVM. Но ведь нас на самом деле много? :-)
Поддежриваю, кучу времени использую rvm и не вижу ни одной причины перейти на rbenv:)
У меня rvm работает в нескольких проектах на нескольких серверах. Изучен вдоль и поперёк. Всё работает как часы.

rbenv — пока вот пробую поставить — непонятный велосипед, нужен бубен.
Sign up to leave a comment.

Articles