Rails とEC2 PumaでWEBアプリケーションをデプロイしています。
Ruby on Railsのアプリ開発や、デザインのご依頼大歓迎です…🥺
お問い合わせページからお気軽にご連絡ください。
 ポチップ
					ポチップ
				エラー内容
RailsアプリケーションをEC2にデプロイ時に起きたエラーです。
ArgumentError: Missing secret_key_base for 'production' environment, set this string with bin/rails credentials:edit (ArgumentError)
    raise ArgumentError, "Missing `secret_key_base` for '#{Rails.env}' environment, set this string with `bin/rails credentials:edit`"rails db:create を実行した際に表示されるこのエラーは、Railsアプリケーションの production 環境において secret_key_base が設定されていないことを示しています。
secret_key_base は、Railsアプリケーションのセッションやクッキーの暗号化に使用される重要な設定です。
解決方法
シークレットキーの生成
ターミナルで以下のコマンドを実行して、新しいシークレットキーを生成します
bin/rails secretcredentialsの編集
以下コマンドを実行してcredentialsを開きます。
EDITOR='vim' rails credentials:edit -e production以下を追加してください。
secret_key_base: your_generated_secretこれらの手項を完了した後、再度 rails db:create を実行してみてください。
これで production 環境の secret_key_base が設定され、エラーが解消されるはずです。
rails db:create RAILS_ENV=productionその他のエラー
Can't connect to local MySQL server through socket '/tmp/mysql.sock'
その後、rails db:create すると、MySQLのエラーも出ます。
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)この点いついては、以下の記事でまとめてあります。
Psych::SyntaxError: (<unknown>): found character that cannot start any token while scanning for the next token at line 55 column 13 (Psych::SyntaxError)
このエラーは、MySQLのパスワードを作る時に、% などの文字が入っていると出るエラーぽいです…
% とかは使用しないようにした方が良いですね。。
 ポチップ
					ポチップ
				 
		
	 
					