Развертывание проекта Rails в Heroku: не удалось найти активную модель

Я относительно новичок в рельсах и прорабатываю учебник Майкла Хартла. На протяжении всего времени я развертывал свои проекты в Heroku, однако теперь, когда я нахожусь в конце главы 5, я получаю «ошибку приложения». В частности, я получаю следующие ошибки, когда просматриваю свои журналы Heroku:

 2012-01-04T03:05:04+00:00 app[web.1]: Could not find activemodel-3.2.0.rc1 in any of the sources
2012-01-04T03:05:06+00:00 heroku[web.1]: State changed from starting to crashed
2012-01-04T03:05:06+00:00 heroku[web.1]: Process exited
2012-01-04T03:05:11+00:00 heroku[router]: Error H10 (App crashed) -> GET floating-stone 5077.heroku.com/ dyno= queue= wait= service= status=503 bytes=

Ранее в журнале я также вижу следующие ошибки:

WARNING:  Invalid .gemspec format in '/app/.bundle/gems/ruby/1.9.1/specifications/rails-3.2.0.rc1.gemspec'
WARNING:  Invalid .gemspec format in '/app/.bundle/gems/ruby/1.9.1/specifications/actionmailer-3.2.0.rc1.gemspec'
WARNING:  Invalid .gemspec format in '/app/.bundle/gems/ruby/1.9.1/specifications/actionpack-3.2.0.rc1.gemspec'

мой gemfile выглядит следующим образом:

source 'https://rubygems.org'

gem 'rails', '3.2.0.rc1'


# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'mysql2'



# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.0'
  gem 'coffee-rails', '~> 3.2.0'

  #gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'


group :development do
  gem 'rspec-rails', '2.7.0'
  gem 'ZenTest', '4.6.2'
  gem 'autotest-growl'
  gem 'autotest-fsevent'
  gem 'webrat', '0.7.3'
end

group :test do
  gem 'rspec', '2.7.0'
  gem 'webrat', '0.7.3'
end 

У меня возникли проблемы с отладкой проблемы, и я просмотрел почти все сообщения о рельсах/героку, которые я смог найти, но ничего по этой конкретной проблеме. Я искал помощи... извините, если это что-то довольно простое.

Я также должен упомянуть, что приложение отлично работает на моем локальном компьютере, и вот информация о моей базе данных (я использую mysql). Вот данные БД.

# MySQL.  Versions 4.1 and 5.0 are recommended.
# 
# Install the MYSQL driver
#   gem install mysql2
#
# Ensure the MySQL gem is defined in your Gemfile
#   gem 'mysql2'
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: sample_app_development
  pool: 5
  username: root
  password:
  socket: /tmp/mysql.sock

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: sample_app_test
  pool: 5
  username: root
  password:
  socket: /tmp/mysql.sock

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: sample_app_production
  pool: 5
  username: root
  password:
  socket: /tmp/mysql.sock

Спасибо!


person Alex Sedgwick    schedule 04.01.2012    source источник


Ответы (3)


Живая версия новых рельсов уже доступна... я думаю, вам следует попробовать зрелую версию рельсов 3.1.3... похоже, это проблема конфигурации, так как я отлично запускаю свои приложения с рельсами 3.1.3 в героку.

person Gul    schedule 06.01.2012
comment
понижение версии, казалось, работало отлично, затем я столкнулся с проблемой, связанной с blueprint css, и нашел ответ на эту проблему здесь: ссылка Спасибо за помощь! - person Alex Sedgwick; 08.01.2012

В вашем файле Gemfile.lock упоминается эта версия ActiveModel? Вы сделали полный bundle update rails / bundle install, затем зафиксировали файл и повторно развернули?

person Neil Middleton    schedule 04.01.2012

У меня была такая же проблема. То, что сработало при локальной разработке, не сработало, когда я развернул на Heroku. Вполне вероятно, что у вас есть гем, заблокированный для более старой версии Rails (или ActiveSupport, как в моем случае). Просмотрите файл Gemfile.lock. Вероятно, вы найдете ссылку на более старую версию компонента Rails.

Если вы обнаружите, что это правда, попробуйте закомментировать гем и посмотреть, запустится ли ваше приложение при развертывании в Heroku. Если это так, просмотрите вилки GitHub вызывающего нарушение драгоценного камня, чтобы узнать, есть ли у кого-то решение. Если вы найдете альтернативу, укажите репозиторий git в вашем файле gem, а затем запустите установку пакета.

e.g.

gem 'tinymce-rails', :git => 'git://github.com/spohlenz/tinymce-rails.git'
person scarver2    schedule 26.01.2012