WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

Macでpow(Rackサーバ)を使う

      2016/06/17

powについて

Mac(OS X)でRailsの開発を行う際に、powというRackサーバを入れると便利です。

powを使うことで今まで”localhost:3000″のようなホストとなっていたものが”project.dev”のようなバーチャルホストで開発ができて、さらにLAN内からも共有できます。

15分間アクセスが無い場合は自動で停止して次のアクセス時に自動起動のような融通の効いた機能も有しています。

インストール

下記コマンドでインストールできます。

$ curl get.pow.cx | sh

powのコマンド操作を支援してくれるCLI, powderも一緒にインストールします。

$ gem install powder

アプリケーションの登録

Rails プロジェクトのルートに移動して`powder link`を実行することでpowへのリンクを作成できます。

$ cd /path/to/project
$ powder link
Your application is now available at http://project.dev/

`powder open`でブラウザで開けます。

$ powder open

トラブルシューティング

“LoadError: cannot load such file — bundler/setup”と表示される場合

実際はrbenvやrvmを使っているのにpowがシステムのRubyを参照していることが原因で起こるようです。

rbenvの場合は~/.powconfigに、以下のように追記すればOKです。

export PATH=~/rbenv/shims:~/.rbenv/bin:$PATH
eval "$(rbenv init -)"

RVMの場合はプロジェクトのルートの.powrcに下記を記載すれば動きました。

if [ -f "$rvm_path/scripts/rvm" ] && [ -f ".ruby-version" ]; then
  source "$rvm_path/scripts/rvm"
  if [ -f ".ruby-gemset" ]; then
    rvm use `cat .ruby-version`@`cat .ruby-gemset`
  else
    rvm use `cat .ruby-version`
  fi
fi

下記サイトのコメント欄にあったコードです。

coderwall.com : establishing geek cred since 1305712800

それ以外のパターンも公式Wikiのトラブルシューティングで記載されているケースがあります。

Troubleshooting · basecamp/pow Wiki

追記: rvmの公式見とけば間違いない。

 - Ruby on Rails ,