Powを使うと、アプリのディレクトリへのシンボリックリンクを ~/.pow 以下に作っておくだけで、
- http://myapp.dev/ のようなURLでアプリにアクセスできる
- http://myapp.10.0.1.43.xip.io/ のようなURLで別マシンからもアクセスできる
- Powが自動でアプリを起動や終了をしてくれる
と便利なのですが、RubyMineと組み合わせたときにイマイチなところがあります。
この記事は次のようなことをしたい人向けの情報です。
- RubyMineからアプリを起動/再起動したい
- ログをRubyMineのウインドウに出したい
- RubyMineでアプリをデバッグしたい
手順
RubyMine でアプリが使うポート番号を設定する
- Run > Edit Configurations... で設定ダイアログを開く
- Rails > Development: myapp の Configuration タブで Port に適当な番号を設定する
他のアプリとかぶらないように設定するだけなので、同時に他のアプリを起動しないなら 3000 のままでもよいですが、変えておいたほうが面倒が少ないです。
Pow の Port proxying 機能を設定
$ rm ~/.pow/myapp # すでにシンボリックリンクがある場合削除する
$ echo 3001 > ~/.pow/myapp # RubyMine で設定したポート番号を設定
普通に RubyMine でアプリを起動する
メニューからだと Run > Run または Run > Debug などで起動します。
myapp.dev をブラウザで開く
powder を使っている場合 powder open
もできます。
この方法(Port proxying)の面倒な点
シンボリックリンクを使った方法に比べて面倒な点もあります。
- 自分でアプリを起動/終了しないといけなくなる
- 複数のアプリを同時起動する場合、ポート番号がかぶらないように自分で気をつけないといけない
目的に合わせて使いましょう。
ちなみに powder を使ってるなら powder list
で Pow を使ってるアプリ一覧とそれらが使っているポートが確認できます。
参考資料
- Powのドキュメントの Port Proxying の部分