Развертывание в Rails проекта в Heroku: не удалось найти activemodel - PullRequest
2 голосов
/ 04 января 2012

Я относительно новичок в рельсах и пробираюсь через Учебное пособие Майкла Хартла.Я развертывал свои проекты в 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 

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

Я должен также упомянуть, что приложение отлично работает на моем локальном компьютере, и вот моя информация о базе данных (я использую 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

Спасибо!

Ответы [ 3 ]

2 голосов
/ 06 января 2012

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

1 голос
/ 04 января 2012

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

0 голосов
/ 26 января 2012

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

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

например

gem 'tinymce-rails', :git => 'git://github.com/spohlenz/tinymce-rails.git'
...