備忘録「herokuへのデプロイについて」
学習記録②「herokuへのpushがうまくいかない」で発生したエラーの解決法を書いてなかったので、新規エントリでアップします。エラーが発生した当時、「heroku Error H10」とかで検索しても有用な情報がなかったので、自分が解決した方法が参考になれば幸い。
やったこと
やったこと自体は単純です。
- herokuのアプリケーションをデストロイ
- tweet.rbファイルのgemの読み込み順を変更
- Gemfile.lockの再作成
herokuアプリケーションをデストロイ
heroku.comでアプリケーションを削除しましょう。
heroku.comでDestroyAppしてください。
この場合、herokuへのリモートリポジトリは以前まで利用していたアプリケーションと同じになっちゃいますので、修正なり再登録で対応しましょう。
自分は.git/configを直接弄りました。作法としてはイマイチかな?
cd .git vim config 〜〜〜〜〜〜〜〜 [remote "heroku"] url = git@ここを変更する.git fetch = +refs/heads/*:refs/remotes/heroku/*
tweet.rbファイルのgemの読み込み順を変更
問題が発生していたソースは、
require 'twitter_oauth' require 'twitter' require 'rubygems' class Tweet def tweet t = TwitterOAuth::Client.new({ :consumer_key=>'取得した値を入力する', :consumer_secret=>'取得した値を入力する', :token=>'取得した値を入力する', :secret=>'取得した値を入力する' }) t.update "#{Time.now}" end end
こんな感じでした。'rubygems'を先頭に持ってこないといけないと教えを受けたので、以下のように修正しています。
require 'rubygems' require 'twitter_oauth' require 'twitter' class Tweet def tweet t = TwitterOAuth::Client.new({ :consumer_key=>'取得した値を入力する', :consumer_secret=>'取得した値を入力する', :token=>'取得した値を入力する', :secret=>'取得した値を入力する' }) t.update "#{Time.now}" end end
Gemfile.lockの再作成
一度ファイルごと削除して再度bundle installしました。
ちなみに、この変更は上記の対応後に試しています(結果無事デプロイ成功)。
以上です。
こんなんじゃなおらねーよ!とか、言ってることの意味がわからない(推し量ることすら難しい><)場合は是非コメント頂ければと思います。