render へのデプロイができない😰
環境
・codespace(クラウドIDE)
・Macbook Air M1
エラー
・render(本番環境)に何度デプロイしても失敗する。
・エラー表示
⇒「ArgumentError: key must be 16 bytes」、「openssl::cipher::ciphererror:」など・・・
原因
・config/master.keyが存在しない。
解決方法
【準備】
・credentials.yml.encファイルがある場合は、削除しておく。
① EDITOR="vi" rails credentials:edit を実行すると、エディタが開かれるので、 :wq でそのまま保存して閉じる。
すると、crendcredentials.yml.enc と master.key が自動で作成される。
※このとき、rendcredentials.yml.enc は作成されるのに、 master.key は作成されなければ、作成した rendcredentials.yml.enc を一度削除して、 vi master.key でファイルを作成・保存・閉じる。その後、 master.key を削除。これを実行した後に、もう一度①を試してください。私はこの手順で自動作成されました。
② master.key が作成されてたら vi master.key で開いて、中身を確認。後で、render の value にコピーできるようにしておく。
③ commit ⇒ push で Github に反映。
④ render の value にmaster.key を入力。
これでできました。私はこれを解決するのに5時間かかりました。