はじめに
Railsチュートリアルの学習の際、
Renderにデプロイするところでかなり詰まりました。
同じエラーで詰まる人が出ないように、
そして自分の復習のために解決法をまとめておきます。
あくまで、個人の学習段階、
Railsチュートリアルの学習の際に出たエラーを解決する方法としてご覧ください。
※この記事では、
RAILS_MASTER_KEYの環境変数を設定し直す方法をまとめています。
原因
- 前環境のmaster.keyのキャッシュが残っていた。
Renderにデプロイする際に自分の使ってるRailsアプリとの連携が必要です。
そのために使うのがmaster.keyなのですが、
今回はキャッシュが残っていたせいでうまく連携が取れてませんでした。
クラウド環境で学習した所までをGitHubにあげて、
途中からローカル環境にクローンして学習を始めたのですが、
その際にRender側とローカル側での環境変数が異なったのが原因でした。
解決策
-
環境変数 RAILS_MASTER_KEY
を解除して新しく設定する。
手順
1. 環境変数 RAILS_MASTER_KEY を解除する
unset RAILS_MASTER_KEY
確認コマンド:
echo $RAILS_MASTER_KEY
何も表示されなければOK!
2.環境変数 RAILS_MASTER_KEY を設定する
cat config/master.key←表示された内容をコピー
export RAILS_MASTER_KEY='config/master.keyの中身をここに貼り付け'
3.master.key をGitの追跡範囲外にする(設定してない場合)
touch .gitignore ←gitignoreファイルの中身を確認
ファイルの中に config/master.key という行がなければ、新しい行として追加します。
4. Gitで変更をコミットしてプッシュする
git add .
git commit -m "好きなコメント"
git push origin main
※master.keyは絶対に中身をGitHubにプッシュしないようにしてください。
(3.の手順に従ってればGitの追跡範囲外に設定されてるはずです。)
6. Renderの環境変数を設定する
Renderのダッシュボードに行き、
「Environment」タブで新しい環境変数を追加します。
• Key: RAILS_MASTER_KEY ←そのまま同じ内容を打ち込みます。
• Value: config/master.key の中身をコピーアンドペーストしてください。
全コマンドまとめ
# 環境変数解除
unset RAILS_MASTER_KEY
# 環境変数設定
export RAILS_MASTER_KEY='config/master.keyの中身をここに貼り付け'
# gitignoreの編集・確認
touch .gitignore
# git操作
git add .
git commit -m "好きなコメント"
git push origin main
まとめ
• 環境変数 RAILS_MASTER_KEY を解除する
• 環境変数 RAILS_MASTER_KEY を設定する
• 念の為、Render側にもRAILS_MASTER_KEY を設定する
• セキュリティを守るためにも、扱いには注意する
以上です。最後まで読んで頂きありがとうございました!