【メモ】RAILS_ENVはコマンドの頭につけておいた方がいいかもしれないという話|石灰zeitwerkはGemfileでdevelopmentグループに指定されているGemで、今回はインストールしていないはずです。ここでエラーが発生するのは何か変な感じがしますね。taskのオプションとして解釈されていることが原因のようでした。taskオプションの第一引数がnamespace、以降の引数が個別のtask名として解釈されるので、そちらに引っ張られているっぽい?)そのため、本来rails(rake)コマンドの方に掛かるべきであるRAILS_ENVが認識されずデフォルトのdevelopmentとして認識され、zeitwerkをはじめとしたdevelopmentグループのGemを読み込もうとしてLoadErrorが発生したということですね。RAILS_ENV=production』などはRAILS_ENVの記述場所がコマンドの末尾でも認識されますが、これはdb:migrateにではなくrailsコマンドの方に掛かっているので意図通りRAILS_ENVを認識してくれるようです。その後、以下のようにRAILS_ENVをコマンドの先頭に置くことでtaskファイルの作成が行えました。unicornRAILS_ENVを書く場所は今まで割と適当にしていたのですが、これを踏まえるとコマンドの先頭に記述していた方が無難かもしれませんね。参考リンクhttps://qiita.com/shinoharat/items/09d007c9ff5aac7a52c3https://github.com/rails/rails/blob/f6a8cb42d8a61753efa658c809c5e1673426eb10/guides/source/command_line.mdhttps://github.com/rails/rails/blob/f95c0b7e96eb36bc3efc0c5beffbb9e84ea664e4/railties/lib/rails/generators/rails/task/USAGEダウンロードcopy#Ruby_on_Rails2この記事が気に入ったらサポートをしてみませんか?サポート石灰フォローWebエンジニア兼シナリオライターです。noteには趣味や生活の切れっ端をたまにアップしています。個人的なことについてはプロフィールから、お仕事関係の連絡先については仕事依頼ページからご確認ください。特商法表記クリエイターへのお問い合わせフィードバッククリエイターの。