Rails 2.3.8 с thin не работает после установки rails 3.0.1 - PullRequest
0 голосов
/ 21 октября 2010

У меня есть несколько приложений Rails с версией 2.3.8, которые я запускаю на тонком сервере. Я хочу установить Rails 3.0.1 на той же машине для тестирования.

Установка работала нормально, но после установки Rails 3.0.1 при запуске приложений Rails 2.3.8 с thin возникает ошибка:

>> Using rails adapter
Missing the Rails 2.3.8 gem. Please `gem install -v=2.3.8 rails`,
update your RAILS_GEM_VERSION setting in config/environment.rb for
the Rails version you do have installed, or comment out RAILS_GEM_VERSION
to use the latest version installed.

Кажется, есть проблема с последней версией стойки (1.2.1), установленной с Rails 3. Если я удаляю стойку 1.2.1 и оставляю только стойку 1.1.0, мои приложения Rails 2.3.8 запускаются без проблем .

Указание версии стойки с config.gem в environment.rb не решает проблему. Распаковка стойки из версии 1.1.0 в каталоге vendor / gems также ничего не меняет.

При использовании стойки 1.2.1 я не могу запустить приложения Rails 2.3.8. Без стойки 1.2.1 я не могу запустить приложения Rails 3.0.1.

Все решения, которые я нашел в Интернете, касаются распаковки стойки, но мне кажется, что это не работает. Есть ли что-то еще, что я должен делать?

Ответы [ 3 ]

2 голосов
/ 06 марта 2011

У меня установлена ​​только Ruby 1.9.2p0, использующая всю систему RVM, и я запускаю приложения, использующие Rails 3 и 2.3.10, на том же сервере, используя Thin.

Вы должны установить пакет на ваших рельсах 2.3.10 приложения (http://gembundler.com/rails23.html).

Вот один из моих Gemfiles для Rails 2.3.10 приложения. Важно указать версию стойки.

source :gemcutter
gem "rack", "~> 1.1.0"
gem "rails", "~> 2.3.10"
gem "will_paginate", "~> 2.3.15"
gem 'haml'
gem 'mysql2'
gem 'authlogic'
gem 'searchlogic'
gem 'paperclip'
gem 'thin'

Для Rails 2.3.10 вы должны начать с самого начала в каталоге приложения, используя:

bundle exec thin start <options here>

Если вы используете RVM и пытаетесь запустить приложения из сценария инициализации, прочитайте это: RVM и тонкий, root и локальный пользователь

0 голосов
/ 22 октября 2010

Мне удалось запустить обе версии Rails, дважды установив Ruby в разных местах.

Если кто-нибудь найдет способ запуска только с одним Ruby, мне будет интересно узнать.

0 голосов
/ 22 октября 2010

Была такая же проблема с приложением Rails 2.3.5 и Thin (1.2.7). Пришлось:

gem uninstall rack --version 1.2.1
gem uninstall rack --version 1.1.0

, в результате чего у меня осталась только версия 1.0.1, а потом все заработало.

Как и вы, я буду в замешательстве, пытаясь перевести приложение в Rails 3. Одно из решений - использовать rvm (которым я уже являюсь) и его понятие наборов гемов, которые обеспечивают изоляцию для определенных гемов для конкретных приложений , Я еще не играл с ними.

Надеюсь, "худые" люди разберутся с этим.

...