#ruby-on-rails #ruby-on-rails-3 #rake
#ruby-on-rails #ruby-on-rails-3 #rake
Вопрос:
Я пытался обновить свое приложение с Rails 2.3 до Rails 3. Я заставил rails s работать без ошибок, но ничего не появится, потому что я не перенес db. Было множество ошибок, которые я исправил, пытаясь запустить rake db: migrate, но я не могу пройти мимо этого…
rake aborted!
no such file to load -- config/environment
(See full trace by running task with --trace)
моя среда конфигурации
#Load the rails application
require File.expand_path('../application', __FILE__)
# Initialize the rails application
AppName::Application.initialize!
с трассировкой
rake aborted!
no such file to load -- config/environment
/Users/Kyle/Desktop/Rails_Projects/unitedaction3/lib/tasks/account.rake:2:in `require'
/Users/Kyle/Desktop/Rails_Projects/unitedaction3/lib/tasks/account.rake:2:in `<top (required)>'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.0/lib/rails/engine.rb:131:in `load'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.0/lib/rails/engine.rb:131:in `block in load_tasks'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.0/lib/rails/engine.rb:131:in `each'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.0/lib/rails/engine.rb:131:in `load_tasks'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.0/lib/rails/application.rb:141:in `load_tasks'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.0/lib/rails/application.rb:77:in `method_missing'
/Users/Kyle/Desktop/Rails_Projects/unitedaction3/Rakefile:9:in `<top (required)>'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load_rakefile'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:495:in `raw_load_rakefile'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:78:in `block in load_rakefile'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:77:in `load_rakefile'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:61:in `block in run'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:59:in `run'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/bin/rake:32:in `<top (required)>'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/bin/rake:19:in `load'
/Users/Kyle/.rvm/gems/ruby-1.9.2-p290/bin/rake:19:in `<main>'
Есть идеи?
Комментарии:
1. Запустите его
--trace
и опубликуйте результат здесь, это может помочь.2. Что в
/lib/tasks/account.rake
? Похоже, возможно , вам нужно изменить ссылку наenvironment.rb
в этом файле на относительный путь (т. Е.../../config/environment.rb
. Это всего лишь предположение, поэтому я пока не буду публиковать его в качестве ответа.3.Вы пытаетесь вручную
require
config/environment.rb
или передаете:environment
определение задачи?
Ответ №1:
Я не уверен, видели ли вы это, но есть плагин rails, который предоставляет задачи rake, чтобы помочь с этим обновлением: https://github.com/rails/rails_upgrade
Это дает вам:
rake rails:upgrade:check
rake rails:upgrade:configuration
Но я думаю, что в конечном итоге вам нужно будет создать новое пустое приложение rails 3 и скопировать сгенерированный config/environment
файл в ваше приложение.