プログラミング的なSomething

プログラミング的なSomething

ITエンジニア(?)目線で生活・自転車・トレーニング話を綴ります

備忘録「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しました。
ちなみに、この変更は上記の対応後に試しています(結果無事デプロイ成功)。


以上です。
こんなんじゃなおらねーよ!とか、言ってることの意味がわからない(推し量ることすら難しい><)場合は是非コメント頂ければと思います。