Кто-нибудь успешно развернул проект Rails с Ruby 1.9.1? [закрыто]

На прошлой неделе я успешно завершил переход всех приложений нашей компании с Ruby 1.8.6 на Ruby 1.8.7, включая локальные и удаленные конфигурации. Отныне развитие выигралнеобходимо обеспечить обратную совместимость с Ruby 1.8.6.

Ради любопытства я попытался запустить набор тестов пары проектов для Ruby 1.9.1. Как и ожидалось, я обнаружил некоторую проблему, связанную с кодировкой, но был очень шокирован, когда обнаружил низкоуровневые несовместимости, такие как известная ошибка Rack :: Link. На данный момент идея перенести разработку на Ruby 1.9.1 просто не применима.

Мне было интересно, если кто-нибудь успешно развернул проект Rails с Ruby 1.9.1. Какую версию Ruby вы используете для своих проектов Rails? Планируете ли вы перейти на более новую версию?

Ответы на вопрос(5)

Gitorious это довольно большой и сложный Rails-проект с большим количеством пользователей. Gitorious отлично работает как на Ruby 1.8, так и на Ruby 1.9, но самая большая установка Gitorious, а именно Gitorious.Org, уже довольно давно работает исключительно на Ruby 1.9 и YARV. (По крайней мере, с мая, я думаю.)

И самое приятное то, что это не только Open Source, но и действительно Open Project с открытым списком рассылки, открытым bugtracker и открытымхранилищетак, чтобы вы могли видетьименно так как они это сделали и сколько работы это было.

Я провел день, рассматривая возможность этого, и собираюсь подождать еще немного.

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

MySql gem (версия 2.8.1) возвращает все строки в кодировке ASCII, это означает, что проблемы, когда вы начинаете добавлять их в свои представления, вы получаете всевозможные неприятные ошибки. Есть обходной путь, но он включает компиляцию драгоценного камня с патчами, смотрите:Проблемы с кодировкой в рельсах на ruby 1.9.1Вы должны форсировать кодировку utf-8 глобально, используя hacks или env varsПассажир 2.2.7 имеет проблемы из-за ошибки в Ruby tempfile, поэтому вы должны взломать источник:Ruby 1.9.1-p234, Passenger 2.2.5, Rails 2.3-стабильный закрытый поток по запросу POSTНекоторые драгоценные камни просто не работают вообще.

Как бы мне ни хотелось, чтобы повысить производительность, я думаю, что это слишком крутой момент, вероятно, это хорошая идея подождать до начала середины 2010 года.

 Simone Carletti07 дек. 2009 г., 12:04
Вы последнее предложение отлично суммируете мои мысли.
Решение Вопроса

Matz недавно говорил на RubyFoo в Лондоне об усыновлении ruby 1.9.1. Проще говоря, ruby 1.9.1 не готов к работе и пока не должен использоваться для развертывания.

Ruby 1.9.2 будет готов к производству, но до этого вы должны использовать только ruby 1.9.1 для игры и тестирования.

Хотя у многих людей были успешные развертывания с использованием 1.9.1, я бы рекомендовал придерживаться REE 1.8.7, пока не выйдет 1.9.2. Rails 3.0 будет отдавать предпочтение 1.9.2, но с 1.8.7 также будет работать очень хорошо (с 1.8.6 он НЕ будет работать).

 Simone Carletti04 нояб. 2009 г., 10:51
МХО, проблема не в самом Ruby, а в GEMS и доступных библиотеках :(. Из моих тестов Ruby 1.9.1 выглядит довольно солидно.
 Josh K04 нояб. 2009 г., 13:10
Да, драгоценные камни - небольшая проблема, но сайт isitruby19.com помогает в этом. Матц также сказал, что некоторые вещи изменятся между 1.9.1 и 1.9.2, поэтому, на мой взгляд, проблема 1.9.1 не так проста, как сказать, что это проблема драгоценных камней.

Никакого преобразования в Ruby 1.9.1 здесь не сделано. Я склонен быть консервативным с модернизацией. Для производства работ я люблю придерживаться проверенные вещи. Кроме того, IMHO 1.9.1 хорош, и хорошая привычка - постоянно обновлять версии зависимостей. Как вы заметили, развитие на кровоточащей грани может быть болезненным. Это'безопаснее оставаться одной версией за острием, если вы неЯ не хочу сталкиваться с такими проблемами.

 Ward Bekker04 нояб. 2009 г., 20:07
Комбинация Ruby 1.9 с Rails по-прежнему является передовой. Rails может справиться с этим, но экосистема плагинов rails огромна, и еще не все плагины обновлены. Существует даже сайт для отслеживания этих проблем:isitruby19.com
 Simone Carletti04 нояб. 2009 г., 00:13
Я бы нет рубин 1.9.1 передовой край. Он был выпущен более 9 месяцев назад и уже доступен предварительный просмотр Ruby 1.9.2. :)

Также нет 1.9.1 здесь. Как бы мне не хотелось это говорить, мыЯ просто подожду сигналов 37, чтобы сделать это первым.

Как только те, у кого есть права на коммит, сделают это, ошибки будут устранены намного быстрее.

Ваш ответ на вопрос