最初に
カレンダー企画2020の8日目
プログラミングの勉強を始めて3ヵ月程経ったので学んだことのメモをアウトプットとして記事に残します。
これからプログラミングの世界に入る人の手助けになれたら嬉しい限りです。
間違っていたり、言葉が違っていたり、誤解されるような言葉があったら教えてください^^
言葉を長々と読みづらかったら申し訳ありません。少しずつなれてがんばります。
deployをしようとした時にmaster.keyがなくて困った
こんなのがエラーで出てくる^^;
config/master.key: No such file or directory
環境
Rails 5.2.4
無くなった原因
git push時にmaster.keyは除外されるようになっているのでGitHub上には残らない(GitHubにあがるとまずい^^;)
git cloneを行ったりするとmaster.keyがない状態になる。(私はこれが原因でした!)
他にもあるのかもですが分からないです!
解決
- アプリケーションのディレクトリに移動
-
config/credentials.yml.enc
というファイルがあると思う。それを削除します - そうするとconfigの中には
master.key
とcredentials.yml.enc
がない状態になる - これをターミナルで実行
sudo EDITOR="vi" rails credentials:edit
- するとconfigの中に
master.key
とcredentials.yml.enc
現れる。
もし、このあとdeployをする場合はpushをしてdeploy環境下でpullを忘れずに!
credentials.yml.enc
の中身が変わっているのでこれをしないとまた違うエラーが出るよ!(経験済!^^)
そもそもmaster.key
とcredentials.yml.enc
って何??
credentials.yml.enc
が暗号化されているよう…
master.key
を使って復号化するみたい…
2つはセットでどちらかが欠けてもダメってことですね!(調べて見て鍵と鍵穴の関係で説明されていました!)
とくにmaster.key
は大事なので保管方法にも気をつけた方が良いみたいです!
これを見て勉強しました!(良かったらどうぞ)
参考サイト:https://techtechmedia.com/credentials-masterkey-rails/#masterkey-2
最後に
自分が詰まったエラーだったのでメモのつもりで残しました!