※2017/12/13追記。
Chrome(ブラウザ)がVer.63系になると、.devにはHTTPSが必須となります。しかも強制アップデートで。
HSTS (HTTP Strict Transport Security) ってやつ。簡単に言うとHTTPS必須にするよーの話。
この強制的にHTTPSにするよの対象に「.dev」ドメインが巻き込まれましたので、Powなどで.devにしてると色々問題出るよという。
例えばHTTPSで来たものを強制的にHTTPへとかroutesなどでやってると、永遠にループして帰ってこないw
※pumaを入れ直そう => [puma & puma-dev で利用中の.devを.testなどに変更する] (https://qiita.com/cyborg__ninja/items/46f6e4d3674ef572d6bd)
Pow がいうこと聞かない
Sierraにアップデートしたらpowがまた死んだので、またどうしようと悩む羽目に。
Pow(powder) + Ruby on Rails の環境でPC再起動したら .devが開かなくて詰んだ件(解決済み)
でも書いていた、再インストールや再起動してもダメでした。
puma-devというpow代替
エンジニア仲間から教えてもらったpuma-dev。
ちょっとググったら「時代はRails5だし、開発用サーバをPowからPuma-devへ乗り換えた」を見つけて、こちらのブログサイトのほぼ受け売りのエントリとなります。
puma-devのインストール手順
まず、既存のpowを消します。
Pow User's Manualの 1.2 Uninstalling Pow を参考。
$ curl get.pow.cx/uninstall.sh | sh
で、インストール。
puma-devに書いてある通りですが、先に紹介したブログにまとまってるんでこれをそのまま。
$ brew install puma/puma/puma-dev
$ sudo puma-dev -setup
$ puma-dev -install -d test
インストは以上。
2個めのコマンドにsudoが付いているがsudoじゃないとpermitが!と言われて動かないのでここは素直にsudoでOK。
※どっかから持ってきたコマンドにsudoついてたら疑ったほうがいいよ?
※20180214追記 puma-dev -install
=> puma-dev -install -d test
設定
基本的にはpowと同じでln -sで、がんがんシンボリックリンクを作っていく。
シンボリックリンクを張りたいディレクトリに移動してpuma-dev linkで作成する。
$ cd PATH/APPLICATION_NAME
$ puma-dev link -n APPLICATION_NAME
ex)
$ cd ~/Sites/favy
$ puma-dev link -n favy
$ cd ~/Sites/test_app
$ puma-dev link -n test_app
もしくは、~/.puma-dev内に、ln -sで作っても良いよ。
$ cd ~/.puma-dev/
$ ln -s PATH/APPLICATION_NAME APPLICATION_NAME
ex)
$ cd ~/.puma-dev/
$ ln -s ~/Sites/favy favy
$ ln -s ~/Sites/test_app test_app
こんな感じで。
複数アプリを一気に登録したい場合はln -sで作ってしまうと良いかも。
設定が終わったら
touch tmp/restart.txt
で、必ずpowリセットと同じことしましょう!
トラブルシューティング:unexpected exit
何かしらのエラー。原因は多数あるパターン。
・bundleしてない
・db:migrateしてない
・ln -s のつける先間違えてる
などなどがよくあるパターン。
tail -f ~/Library/Logs/puma-dev.log
などからログを見て何のエラーが起こっているのか確認しましょう。
※ 注意点
非常に重要なこと。
Railsアプリだったら、Gemfileに
group :development do
+ gem 'puma'
- gem 'unicorn'
end
と、入れてbundleしておきましょう。快適になる。unicornは要らない子。
そもそもpumaってなんなの?山ライオンなの?
MACのOSにあったアレとは関係がない。
最近の Rack サーバ事情についてというサイトに掲載があって、unicorn VS pumaみたいなそんな感じ。
詳しいことは誰かすごい人がカバーしてくれるでしょう。
powに対する愚痴
powは本当にOSのアップデートをするたびに僕の言うことを聞かない。嫌いだ。あんなやつ。
puma-devはそういうじゃじゃ馬感ゼロで素直ないい子。よしよし。