Rails 3 (Ruby 1.9.2 против 1.8.6) и (MRI против REE против JVM) - комментарии / предложения? - PullRequest
4 голосов
/ 25 ноября 2010

Глядя на создание стека Rails 3 и пытаясь разобраться в версиях Ruby.

Мне очень интересна концепция JVM, но я не уверен на 100%, относится ли она даже к Rails 3; то есть почему бы просто не выполнить развертывание только для JVM, если это необходимо.

Тогда heroku говорит есть ошибка в Ruby 1.9.1, но они не говорят, что это за ошибка, если она устранена в Ruby 1.9.2 - или что произойдет в результате запуска Rails 3 на Ruby 1.8.6.

ОБНОВЛЕНИЕ: Обнаружено, что ошибка heroku косвенно связана с: "Обратите внимание, что в Ruby 1.8.7 p248 и p249 есть ошибки маршалинга, которые приводят к краху Rails 3.0. В Ruby Enterprise Edition они исправлены после выпуска 1.8.7- Однако в версии 2.09 Ruby 1.9.1 непригоден для использования, поскольку в Rails 3.0 он напрямую работает с ошибками, поэтому, если вы хотите использовать Rails 3 с переходом 1.9.x на 1.9.2 для плавного плавания. "

У кого-нибудь есть информация / ссылка на эту тему?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 26 ноября 2010

Если вы работаете в Windows, моя личная рекомендация - переходить на JRuby. У MRI (как 1.9.x, так и 1.8.x) есть множество проблем с окнами, будь то развертывание на XP, Vista или Windows 7. Я не часто занимаюсь разработкой на Windows, но я преподаю классы Rails, и это моя рекомендация Windows студенты сейчас. У меня вообще не было много проблем с JRuby, за исключением необходимости использовать другой драйвер базы данных (версии гемов jdbc). RVM не работает в Windows, но вы можете использовать pik (https://github.com/vertiginous/pik) для достижения многих из тех же целей.

2 голосов
/ 25 ноября 2010

Мой совет: если вы начинаете новый проект на Rails 3, вам определенно стоит подумать о его запуске с использованием Ruby 1.9.2. Heroku поддерживает несколько стеков, по умолчанию теперь используется Bamboo (тот, который поддерживает 1.9.2, а также REE). Если вас беспокоит совместимость с гемами или что-то еще, вы можете хеджировать свои ставки и использовать RVM и / или multiruby для запуска набора тестов на нескольких версиях ruby, чтобы вы могли развернуть их в любое время выполнения.

Лично я запускаю приложение Rails 2 на REE и приложение Rails 3 на 1.9.2, и у меня не было никаких проблем.

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

В итоге:

Вы можете запускать приложения Rails 2 и 3 как на REE, так и на Ruby 1.9.2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...