読者です 読者をやめる 読者になる 読者になる

Rackアプリをモバイルの実行環境でテストするためにpowを導入する

Rails Sinatra

Rackアプリをモバイルの実行環境でテストするためにpowを導入する話

powをインストールします

$ curl get.pow.cx | sh

powder(powをcommand lineから使いやすくするgem)をインストールします

$ gem install powder

動かしたいRackアプリのディレクトリ直下で以下のコマンドを叩きます。

$ powder link

するとURLが表示されるのでアクセス!すごい!簡単!


と、僕は最初にRailsアプリを起動させようとすると以下のようなエラーが。。。

Error: timeout: waiting for /tmp/nack.450.5785526190.sock

ググってみると、powのリポジトリのissueでもすごい議論されてるみたい。

どうやら何回か起こるエラーだけど毎回ではないみたい。

とりあえず以下のコマンドでpowサーバーを再起動する。

powder restart

もう一度接続。2回目は普通に表示できました。ふむ


スマフォからのアクセス

以下の公式ドキュメントにxipの使い方が書いてある。

http://pow.cx/manual.html

以下でMacで使ってるネットワークのIPアドレスを調べる。

$ ifconfig | grep inet
.
.
inet 192.168.225.37 # とか
.
.

すると事前にpowder linkしているとhttp://app_folder_name.192.168.225.37.xip.io/スマートフォンや他のPC

さらにこれの便利なところは、Rackアプリケーションじゃなくてもpublicディレクトリ内にindex.htmlがあれば静的なWebページでもpowで仮想サーバーを立てることができること。

すばらしすぎる!!

参考サイト

Pow User's Manual

PowをSinatraアプリで使う - アインシュタインの電話番号

開発サーバをThinからPowに切り替えて開発効率アップ! (Mac限定) - 酒と泪とRubyとRailsと