2009-11-03 2 views
9

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

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

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

ответ

10

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

Ruby 1.9.2 будет готовой к производству, но до этого вы должны использовать только рубин 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).

+1

MHO, проблема заключается не в самой Ruby, а в GEMS и доступных библиотеках :(Из моих тестов Ruby 1.9.1 выглядит довольно прочным. –

+0

Да, камни - проблема, но сайт isitruby19.com помогает в этом. Matz также сказал, что некоторые вещи будут меняться между 1.9.1 и 1.9.2, поэтому 1.9.1 - это проблема, на мой взгляд, ее не так просто, как сказать, что это проблема с драгоценными камнями. –

1

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

+2

Я бы не назвал Руби 1.9.1 край кровопускания. Он был выпущен более 9 месяцев назад, и предварительный просмотр Ruby 1.9.2 уже доступен. :) –

+0

Сочетание Ruby 1.9 с Rails все еще кровоточит. Rails может справиться с этим, но экосистема плагинов rails огромна, и не все плагины еще не обновлены. Существует даже сайт для отслеживания этих проблем: http://isitruby19.com/ –

1

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

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

5

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

И лучшая часть, конечно, что это не только с открытым исходным кодом, но по-настоящему Открыть проект с открытой рассылкой, открытым багтрекере и открытым repository, так что вы можете увидеть точно как они это делали и сколько работало.

2

Я потратил день на то, чтобы оценить его осуществимость, и я подожду еще немного.

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

  1. MySql камень (версия 2.8.1) возвращает все строки в кодировке ASCII, это означает, что неисправности причин при запуске добавления их в ваших взглядах вы получите все виды неприятных ошибок.Существует работа вокруг, но она включает в себя составление камень с пятнами см: Encoding problems in rails on ruby 1.9.1
  2. Вы должны заставить UTF-8 кодировку глобально с помощью хаков или окр вары
  3. Passenger 2.2.7 имеет проблемы из-за ошибки в Ruby, TempFile, поэтому вам нужно взломать источник: Ruby 1.9.1-p234, Passenger 2.2.5, Rails 2.3-stable closed stream on POST request
  4. Некоторые драгоценные камни просто не работают вообще.

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

+0

Вы последнее предложение прекрасно суммируете мою мысль. –

 Смежные вопросы

  • Нет связанных вопросов^_^