Я хочу начать использовать Rails 3 и Ruby 1.9, но как мне по-прежнему запускать приложения Rails 2? - PullRequest
1 голос
/ 18 августа 2011

У меня есть несколько рабочих приложений на Rails 2.Я хочу начать использовать Rails 3 и Ruby 1.9 для новых приложений, которые я разрабатываю.

Я использую Passenger и Apache с REE (Ruby 1.8.7).Я ничего не продаю - я устанавливаю гемы на системном уровне и указываю версии для каждого приложения в environment.rb.

Если вы правильно понимаете, проблема не столько в Rails и других версиях гемов (потому чтокаждое приложение может указать свое собственное в environment.rb), но будут ли мои приложения на Rails 2 и их гемы работать под Ruby 1.9.

Имею ли я это право?

На основе поиска в Google это выглядитчто на самом деле может быть проблема с некоторыми драгоценными камнями, такими как Searchlogic и Ruby 1.9.

Если да, то какое было бы рекомендованное решение?


Я изучил RVM, и это выглядит фантастически длятестирование, экспериментирование и разработка.Но это не похоже на то, что оно было разработано, чтобы помочь с производственной настройкой.

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

1 Ответ

2 голосов
/ 18 августа 2011

Загляните в RVM (Ruby Version Manager). Вы можете управлять несколькими версиями ruby ​​в одном блоке и несколькими наборами gemsets для каждой.

http://beginrescueend.com/

Кроме того, Bundler позволяет проектам поддерживать свои собственные библиотеки гемов (и, по крайней мере, для меня это устраняет необходимость использования наборов гемов RVM)

http://gembundler.com/

Проверьте следующую ссылку для Hongli Lai от Phusion, объясняющую, как настроить Passenger, работающий на нескольких версиях Ruby одновременно, с помощью автономного и обратного прокси-сервера Passenger.

http://blog.phusion.nl/2010/09/21/phusion-passenger-running-multiple-ruby-versions/

...