LoginSignup
6
6

More than 3 years have passed since last update.

【Heroku】デプロイ時のエラーまとめ

Posted at

Herokuで発生したエラーメモ

Herokuで出たエラーメモです。
書かないと忘れてしまいそうなのでメモとして書きます。
※解決できない場合のgitでの戻し方の方が長くなってしまいました…

download.png

1. リポジトリ無いみたいなエラーが出る

heroku fatal: repository ~~~ dose noe exist

リネームなどした場合に発生するかもしれません。

サイト名(アプリ名)リネームしたからかも

testappにするとしたら

$ heroku rename testapp

↓のように変更される
https://testapp.herokuapp.com

リポジトリ間違ってますので再設定しましょう。testappのところにサイト名入ります。

$ git remote set-url heroku https://git.heroku.com/testapp.git

heroku git push先確認

$ git remote -v
heroku  https://git.heroku.com/sampleapp.git (fetch)
heroku  https://git.heroku.com/sampleapp.git (push)
origin  git@bitbucket.org:sampleuser/sampleapp.git (fetch)
origin  git@bitbucket.org:sampleuser/sampleapp.git (push)

git pushgit push heroku masterなどでpushする先を確認できます。違っていたら
$ git remote set-url heroku https://git.heroku.com/testapp.gitのように変更。

2. 前のバージョンに戻してしまう

$ heroku rollback v6

バージョン確認

heroku releases

下記のような表示される

v7  Deploy a3525aaa         samplemail@gmail.com  2019/01/19 15:52:18 +0000 (~ 5m ago)
v6  Deploy 44cf704a         samplemail@gmail.com  2019/01/19 15:17:20 +0000 (~ 40m ago)
...

使うかわからないですけどバージョン確認して戻すことが可能です。確認してv7が最新のようだったらv6にしたら前の状態に戻せます。

3. 原因不明のApplicationError

とりあえずHeroku再起動してみましょう

$ heroku restart --app application_name

参考記事
https://qiita.com/Oakbow/items/1565922ddcdea0ce9ab5

4. Cloud9でherokuコマンド使えない

$ source <(curl -sL https://cdn.learnenough.com/heroku_install)
$ heroku --version

heroku --versionは確認です。バージョンが出たらOK

5.ActiveSupport::MessageEncryptor::InvalidMessage

Encrypted Credentialsでキーなどを秘匿化できる。
TwitterのAPIキーをベタで書くわけにもいかないので
素晴らしい記事を参考にやりました。Rails 5.2以降で使えるようになり、Encrypted secretsよりも推奨されている。

secrets.ymlや環境変数をRails 5.2のEncrypted Credentialsに移行する

解決手順

先ほどのリンク先で確認していただければいいですが

$ EDITOR=vim bin/rails credentials:edit

これを打つと秘匿情報ファイルと鍵ファイルを生成。vimで開く
私はtwitter API書いたので↓のように追記してます

twitter:
  twitter_api_key: 1234567891011121314
  twitter_api_secret: 345678910111213141516

# aws:
#  access_key_id: 123
#  secret_access_key: 345

# Used as the base secret for all MessageVerifiers in Rails, including the one $
secret_key_base: aaaaaaaaaaadddddddddddgggggggaaaaaaaaaaaaaaaaaaaaaaaaaa

蛇足でしょうがvimで保存して閉じるのはEsc : wqです。

herokuはmaster.keyをコピーしておけばいいというわけにはいかないので、環境変数で設定。

$ heroku config:set RAILS_MASTER_KEY=`cat config/master.key`

git addしてコミットして

$ git push heroku
6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6