🐥
Rails プロジェクトの bin/setup をメンテしよう
bin/setup とは?
rails new すると bin/setup スクリプトも生成される。これは Rails が用意してくれている開発環境セットアップ用のスクリプトで、Railsガイドには「アプリケーションの初期設定時に設定を自動化するためのコードの置き場所」と書いてある。
スクリプトはあくまで雛型で開発者が必要に応じてカスタマイズしていく想定になっている。
例えば──
- brew で特定バージョンのパッケージを準備する
- bundle install
- npm install
- database.yml は別のファイルから生成する
- 仮データを準備する
などを行う。
メンテされていないプロジェクトが多い
残念なことにこれがまったくメンテされていないプロジェクトが多い。自分の経験では後から参加したプロジェクトで bin/setup がメンテされているものがひとつもなかった。一方で、その通りに実行しても動かないドキュメントや Wiki はたくさん見た。
なぜこのようなことになっているのか想像すると、おそらく bin/setup は昔の Rails では無かったファイルなので存在を知られていないのか、それとも bin の下はシステム的なスクリプトも置かれているので触ってはいけないものと誤解されていると考えられる。
お願い
あとから開発に加わるメンバーや未来の自分への思いやりの気持ちをもって 誰の環境でも bin/setup を実行するだけで環境が整う ようにしてほしい。
Discussion