Ruby on Rails Tutorialを参考にherokuにPushするところまでやってみました。 状況は確認したらクラッシュしていました。
$ heroku ps === web (Free): bin/rails server -p $PORT -e $RAILS_ENV │Started GET "/" for ::1 at 2015-11-18 13:26:18 +0900 web.1: crashed 2015/11/18 13:32:27 (~ 1m ago)
理由を探すためにlogを確認してみたところ、 springがインストールされていないという内容でした。
チュートリアルにあるGemfileの通りだけど、 herokuにPushしたときはインストールされていなかったです。
source 'https://rubygems.org' ruby '2.2.1' gem 'rails', '4.2.4' gem 'sass-rails', '5.0.2' gem 'uglifier', '2.5.3' gem 'coffee-rails', '4.1.0' gem 'jquery-rails', '4.0.3' gem 'turbolinks', '2.3.0' gem 'jbuilder', '2.2.3' gem 'sdoc', '0.4.0', group: :doc group :development, :test do gem 'sqlite3', '1.3.9' gem 'byebug', '3.4.0' gem 'web-console', '2.0.0.beta3' gem 'spring', '1.1.3' end group :production do gem 'pg', '0.17.1' gem 'rails_12factor', '0.0.2' end
$ heroku run gem list Running gem list on damp-inlet-8048... up, run.5374 *** LOCAL GEMS *** actionmailer (4.2.4) actionpack (4.2.4) actionview (4.2.4) activejob (4.2.4) activemodel (4.2.4) activerecord (4.2.4) activesupport (4.2.4) arel (6.0.3) bigdecimal (1.2.6) builder (3.2.2) bundler (1.9.7) coffee-rails (4.1.0) coffee-script (2.4.1) coffee-script-source (1.10.0) erubis (2.7.0) execjs (2.6.0) globalid (0.3.6) i18n (0.7.0) io-console (0.4.3) jbuilder (2.2.3) jquery-rails (4.0.3) json (1.8.3, 1.8.1) loofah (2.0.3) mail (2.6.3) mime-types (2.6.2) mini_portile (0.6.2) minitest (5.8.3, 5.4.3) multi_json (1.11.2) nokogiri (1.6.6.3) pg (0.17.1) power_assert (0.2.2) psych (2.0.8) rack (1.6.4) rack-test (0.6.3) rails (4.2.4) rails-deprecated_sanitizer (1.0.3) rails-dom-testing (1.0.7) rails-html-sanitizer (1.0.2) rails_12factor (0.0.2) rails_serve_static_assets (0.0.4) rails_stdout_logging (0.0.4) railties (4.2.4) rake (10.4.2) rdoc (4.2.0) sass (3.4.19) sass-rails (5.0.2) sdoc (0.4.0) sprockets (3.4.0) sprockets-rails (2.3.3) test-unit (3.0.8) thor (0.19.1) thread_safe (0.3.5) tilt (1.4.1) turbolinks (2.3.0) tzinfo (1.2.2) uglifier (2.5.3)
解決というかその場凌ぎの方法でherokuでデプロイできるようにしました。 Gemfileのspritの位置を変更して、 bundleでGemfile.lockを更新します。 そしてCommitして、herokuにPushするとちゃんと動きました。
source 'https://rubygems.org' ruby '2.2.1' gem 'rails', '4.2.4' gem 'sass-rails', '5.0.2' gem 'uglifier', '2.5.3' gem 'coffee-rails', '4.1.0' gem 'jquery-rails', '4.0.3' gem 'turbolinks', '2.3.0' gem 'jbuilder', '2.2.3' gem 'sdoc', '0.4.0', group: :doc gem 'spring', '1.1.3' group :development, :test do gem 'sqlite3', '1.3.9' gem 'byebug', '3.4.0' gem 'web-console', '2.0.0.beta3' end group :production do gem 'pg', '0.17.1' gem 'rails_12factor', '0.0.2' end
$ bundle install --without producation $ git add Gemfile Gemfile.lock $ git commit -am "hogehoge" $ git push heroku master $ heroku run gem list Running gem list on damp-inlet-8048... up, run.5374 *** LOCAL GEMS *** 略 sass (3.4.19) sass-rails (5.0.2) sdoc (0.4.0) spring (1.1.3) sprockets (3.4.0) $ heroku ps === web (Free): bin/rails server -p $PORT -e $RAILS_ENV web.1: up 2015/11/18 17:01:55 (~ 23s ago)
これで無事動くことができました。
ただこれは解決法ではないと思うので問題を探していきます。