#ruby-on-rails #ruby-on-rails-3
#ruby-on-rails #ruby-on-rails-3
Вопрос:
Я хочу переключиться на rails 3 и заставить свой проект использовать его. Я установил драгоценные gem list | grep rails
камни, вывод
rails (3.1.1)
в config/environment.rb указано
RAILS_GEM_VERSION = '3.1.1' unless defined? RAILS_GEM_VERSION
но если я наберу rails -v
, там будет написано Rails 2.3.2
когда я пытаюсь запустить сервер, я получаю это
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- initializer (LoadError)
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from ./script/../config/boot.rb:56:in `load_initializer'
from ./script/../config/boot.rb:39:in `run'
from ./script/../config/boot.rb:12:in `boot!'
from ./script/../config/boot.rb:111
from ./script/server:2:in `require'
from ./script/server:2
Если я попытаюсь сделать
rails _3.1.1_ --version
Я получаю
/opt/ruby1.9/lib/ruby19/1.9.1/rubygems.rb:636:in `report_activate_error': RubyGem version error: rails(2.3.2 not = 3.1.1) (Gem::LoadError)
from /opt/ruby1.9/lib/ruby19/1.9.1/rubygems.rb:141:in `activate'
from /opt/ruby1.9/lib/ruby19/1.9.1/rubygems.rb:49:in `gem'
from /opt/ruby1.9/bin/rails:18:in `<main>
Кто-нибудь знает, что я должен с этим делать?
Спасибо
Комментарии:
1. К сожалению, это не так просто. Вы можете создать новое приложение rails3 и переместить туда свои модели, контроллеры, представления, миграции и прочее. Кроме того, есть серия скринкастов, в которых описывается процесс миграции: railscasts.com/episodes/225-upgrading-to-rails-3-part-1
2. @taro: Я полагаю, вы могли бы превратить свой комментарий в ответ. Тогда я мог бы проголосовать за это;-)
Ответ №1:
Я уверен, что вы скоро получите еще несколько ценных ответов, но я бы посоветовал вам попробовать перенести свой проект, создав новый проект Rails 3, а затем переместить все ваши модели, контроллеры, представления и тесты из старого в новый.
Я обычно проверяю, что отличается в коде, созданном генераторами, в новых версиях Rails — вы часто узнаете новые, приятные методы. Это может быть утомительной работой, особенно если ваш проект довольно большой, но обычно результаты будут лучше, чем просто автоматическая миграция.
Ответ №2:
Какие шаги вы выполнили до сих пор, чтобы выполнить обновление?
У вас есть книга обновлений — может стоить 12 долларов инвестиций — в зависимости от размера вашего приложения?
Какие драгоценные камни находятся в вашем Gemfile — у вас есть один, верно?
Установлен ли bundler?
Ваша среда, похоже, тоже запуталась в вашей версии Ruby — /opt/ruby1.9/lib/ruby19/1.9.1/ и /usr/local/lib/site_ruby/1.8 — возможно, стоит использовать что-то вроде rvm или rbenv, чтобы помочь управлять / разделять ваши версии gems и ruby.
Если вы используете версию 1.9 — 1.9.2, вероятно, это версия для использования, я думаю, что есть некоторые проблемы с 1.9.1.
Привет, Крис