сложная установка спагетти из последних Rails 2.3.5 - PullRequest
1 голос
/ 24 января 2010

Основной и, пожалуй, более риторический вопрос: почему установка / обслуживание RoR стало настолько F% # $ сложным?

Некоторые причины проблемы: Платформа: Windows XP Рубиновая версия: 1.8.6 Несколько десятков самоцветов, установленных с версией самоцвета 1.2.0 Текущая версия Rails: 2.1

Я просто хотел обновить до рельсов 2.3.5, думая, что у меня скромное желание, но, видимо, нет. Моя борьба:

  1. запустил 'gem update rails --include-dependencies' (получил сообщение, что эта опция больше не поддерживается (почему нет?), Но обновление продолжалось некоторое время)

  2. получено сообщение об ошибке, что у 'actionpack' была зависимость от гема 'rack' (требуется версия 1.0.0).

  3. ок, запустил 'gem install rack' - стойка 1.1.0 установлена ​​

  4. повторно запустить 'gem install rails', но возникла та же проблема. Подумал, что он может не понравиться стойке 1.1.0 ... хорошо, нашел версию 1.0.0, скачал ее, удалил v. 1.1.0, установил v. 1.0.0 вместо

  5. перезапустите gem install rails снова, теперь rails установлены

  6. запустил 'rails app-name', чтобы создать мое приложение, получил несколько последовательных ошибок, которых не хватало тому или иному драгоценному камню. Установил их как я пошел

  7. добрался до точки, в которой отсутствовал гем 'fcgi', не смог найти скомпилированную версию, прочитал, что может быть лучше обновить версию rubygem с 1.2 (глючная) до 1.3.5

  8. ок, начал обновлять rubygem. Дошло до того, что я не могу завершить установку версии 1.3.5, потому что gemcutter gem отсутствует .
  9. пытается установить gemcutter, и он жалуется, что ему требуется rubygems 1.3.5!
  10. ... и, кстати, 'rails my-app' по-прежнему выдает ошибку, что fcgi gem отсутствует

Разве это не ОРЕХИ?!

Я надеюсь, что мой опыт не уникален, и, возможно, кто-то может помочь мне здесь. Заранее спасибо!

Ответы [ 4 ]

2 голосов
/ 24 января 2010

Я подозреваю, что проблема в том, что вы используете дистрибутив One-Click Installer для Ruby, который сейчас сильно устарел. Вместо этого используйте RubyInstaller , который заменяет OCI и решает большинство проблем Ruby on Windows.

RubyInstaller включает в себя текущую версию RubyGems, а проект также предоставляет дополнительный компилятор под названием DevKit, который позволяет корректно компилировать любые собственные расширения, включенные в пакеты gem. RubyInstaller помечен как Кандидат на выпуск, потому что осталось несколько настроек для улучшения пользовательского опыта, но я нашел его полностью функциональным и стабильным.

Поведение --include-dependencies теперь по умолчанию для RubyGems, поэтому, если у вас есть RubyInstaller и DevKit, вы можете настроить свой стек следующим образом:

  1. gem install gemcutter
  2. gem install sqlite3-ruby
  3. рельсы для установки драгоценных камней

Я предполагаю, что у вас уже есть SQLite3 в системе. Если нет, вам просто нужно взять файлы sqlite3.dll и sqlite3.exe с веб-сайта SQLite и вставить их в папку в своем PATH перед установкой гемов.

2 голосов
/ 24 января 2010

Версия Windows XP Ruby: 1.8.6

Это ваша главная проблема. У меня было много проблем, в основном связанных с производительностью и гемами / плагинами при разработке под Windows (некоторые гемы не компилировались).

Жизнь стала гораздо менее расстраивающей, когда я переместил свою разработку на Rails на виртуальную машину, работающую под управлением Ubuntu, а в последнее время - Debian.

Моей главной мотивацией было то, что платформа разработки должна максимально соответствовать платформе развертывания (Ubuntu).

Я написал руководство о том, как настроить среду разработки Ubuntu Rails в Windows XP с использованием VirtualBox (бесплатное программное обеспечение для виртуализации).

0 голосов
/ 24 января 2010

InstantRails делает установку на Windows по-настоящему простой, потому что они проделали всю сложную работу за вас ... но вы должны быть готовы использовать более старые версии Ruby и Rails, поскольку не обновлялся в течение 3 лет.

0 голосов
/ 24 января 2010

Ruby, Rails и Windows никогда не играли особенно хорошо.Я на OS X и Ubuntu, и это определенно не так уж плохо.

Миграция на Rails 2.3.x - это шаг к Rails 3, поэтому требуется немного дополнительных действий (переход к Rack наиболее очевиден).

Я только что понял, что у меня нет фактического ответа ...

...