相当新的heroku所以原谅我的noobness。
尝试将在本地计算机上正常运行的应用程序部署到heroku。
在
后部署好git push heroku master
但是当我查看heroku日志时,我会收到以下错误:
2013-10-09T02:56:42.363522+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/commands/server.rb:48:in `app'
2013-10-09T02:56:42.363141+00:00 app[web.1]: from /app/config.ru:in `<main>'
2013-10-09T02:56:42.363522+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:73:in `<top (required)>'
2013-10-09T02:56:42.363522+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/server.rb:314:in `wrapped_app'
2013-10-09T02:56:42.406543+00:00 app[web.1]: => Ctrl-C to shutdown server
2013-10-09T02:56:42.406543+00:00 app[web.1]: => Rails 4.0.0 application starting in production on http://0.0.0.0:44409
2013-10-09T02:56:42.363522+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:73:in `tap'
2013-10-09T02:56:42.406543+00:00 app[web.1]: => Booting WEBrick
2013-10-09T02:56:42.406543+00:00 app[web.1]: Exiting
2013-10-09T02:56:43.780131+00:00 heroku[web.1]: State changed from starting to crashed
2013-10-09T02:56:43.770751+00:00 heroku[web.1]: Process exited with status 1
2013-10-09T02:59:44.437016+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=career-agent.herokuapp.com fwd="74.9.178.228" dyno= connect= service= status=503 bytes=
2013-10-09T02:59:44.746548+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=career-agent.herokuapp.com fwd="74.9.178.228" dyno= connect= service= status=503 bytes=
2013-10-09T03:04:32.057876+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=career-agent.herokuapp.com fwd="74.9.178.228" dyno= connect= service= status=503 bytes=
2013-10-09T03:04:31.565122+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=career-agent.herokuapp.com fwd="74.9.178.228" dyno= connect= service= status=503 bytes=
2013-10-09T03:06:56.946173+00:00 heroku[web.1]: State changed from crashed to starting
2013-10-09T03:07:02.040757+00:00 heroku[web.1]: Starting process with command `bin/rails server -p 10939 -e $RAILS_ENV`
2013-10-09T03:07:09.880708+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/connection_specification.rb:55:in `resolve_hash_connection'
2013-10-09T03:07:09.880708+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/lazy_load_hooks.rb:38:in `instance_eval'
2013-10-09T03:07:09.880708+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/connection_specification.rb:46:in `resolve_string_connection'
2013-10-09T03:07:09.880708+00:00 app[web.1]: /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/connection_specification.rb:58:in `rescue in resolve_hash_connection': Specified 'postgresql' for database adapter, but the gem is not loaded. Add `gem 'pg'` to your Gemfile. (Gem::LoadError)
我将gem pg
添加到我的gemfile:
source 'https://rubygems.org'
gem 'protected_attributes'
group :production do
# gems specifically for Heroku go here
gem "pg"
end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.0'
# Use mysql as the database for Active Record
gem 'mysql2'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 1.2'
group :doc do
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', require: false
end
# Use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# Use unicorn as the app server
# gem 'unicorn'
# Use Capistrano for deployment
# gem 'capistrano', group: :development
# Use debugger
# gem 'debugger', group: [:development, :test]
当我bundle show pg
时:
/Users/Calvino/.rvm/gems/ruby-1.9.3-p448/gems/pg-0.16.0
我已经开始bundle install
:
Calvins-Air:LifeAgent Calvino$ bundle install
Using rake (10.1.0)
Using i18n (0.6.5)
Using minitest (4.7.5)
Using multi_json (1.7.9)
Using atomic (1.1.13)
Using thread_safe (0.1.2)
Using tzinfo (0.3.37)
Using activesupport (4.0.0)
Using builder (3.1.4)
Using erubis (2.7.0)
Using rack (1.5.2)
Using rack-test (0.6.2)
Using actionpack (4.0.0)
Using mime-types (1.25)
Using polyglot (0.3.3)
Using treetop (1.4.15)
Using mail (2.5.4)
Using actionmailer (4.0.0)
Using activemodel (4.0.0)
Using activerecord-deprecated_finders (1.0.3)
Using arel (4.0.0)
Using activerecord (4.0.0)
Using coffee-script-source (1.6.3)
Using execjs (2.0.1)
Using coffee-script (2.2.0)
Using thor (0.18.1)
Using railties (4.0.0)
Using coffee-rails (4.0.0)
Using hike (1.2.3)
Using jbuilder (1.5.1)
Using jquery-rails (3.0.4)
Using json (1.8.0)
Using mysql2 (0.3.13)
Using pg (0.16.0)
Using protected_attributes (1.0.3)
Using bundler (1.3.5)
Using tilt (1.4.1)
Using sprockets (2.10.0)
Using sprockets-rails (2.0.0)
Using rails (4.0.0)
Using rdoc (3.12.2)
Using sass (3.2.10)
Using sass-rails (4.0.0)
Using sdoc (0.3.20)
Using turbolinks (1.3.0)
Using uglifier (2.2.1)
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
我一直在谷歌上搜索数小时无济于事。有帮助吗?显然在我的系统上找到了pg,为什么在Heroku上找不到它?
答案 0 :(得分:2)
在本地添加pg
gem之后,您可能没有推送到heroku。请尝试以下操作:
git add -A
git commit -m 'pg gem added'
git push
git push heroku
我希望它有所帮助...
答案 1 :(得分:0)
我还看到mysql2
中包含Gemfile
个gem。不确定这是否与pg
发生冲突。尝试仅限mysql2 gem
到非生产环境。