LoginSignup
11
12

More than 5 years have passed since last update.

`rails new`した時にProcfileを作成する

Posted at

作成したばかりのRailsアプリケーションをherokuにpushすると

###### WARNING:
remote:        No Procfile detected, using the default web server (webrick)
remote:        https://devcenter.heroku.com/articles/ruby-default-web-server

と出ていてProcfileがないと警告がでてしまう。

なんとなく警告が出ていると嫌だし、毎回作成するのも面倒なのでrails newした時にProcfileを自動生成することにした。

これはRails Application Templateを利用すると目的が達成できます。

まずは~/.rails_app_template.rb を作成する。ファイル名は本当はなんでも良い。中身は以下のようにする。

create_file 'Procfile', 'web: bundle exec rails server -p $PORT'

あとはプロジェクトを作成する際には以下のコマンドを実行する。

rails new -m ~/.rails_app_template.rb プロジェクト名

-mを指定するのがめんどくさい場合は~/.railsrcファイルを記述しておくとよい。こちらのファイル名は.railsrcにしないといけない。

~/.railsrc
rails new -m ~/.rails_app_template.rb プロジェクト名

この.railsrcを無効にしたい場合は

rails new --no-rc プロジェクト名

とすればよい。

もっと詳しく

より詳細は下記の記事を参考にすると良いです。

Application TemplateやGeneratorでファイルを作るにはThor::Actions#create_fileメソッドが利用できます。

Thorはコマンドラインツールを作成支援ライブラリで、Rails GeneratorやRails ApplicationはThorを拡張して作成されています。

create_fileのような命令の一覧は下記に記載されています。

参考文献

11
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
12