一次要開發多個專案時,用 puma-dev 節省掉我很多時間,網路上的文章並沒有很齊全並簡單的教你如何使用這些常用的眉角,所以這篇算是 Puma-dev 全攻略,從安裝、重啟、設置自簽 https 憑證到 Log 查看。
優劣
好處:
- 本地開發自定義域名
- 不用一直打 rails server 開一堆 terminal, 改東西還要一直 ctrl + C
- 可以用 https 開發
- 方便開發跟 subdomain 有關的網站
- 輸入網址自動開啟
- 長時間不用資源自動釋放
- 只要
touch tmp/restart.txt
就可以重啓 web server,重新訪問被更新的網站。
壞處:
- 不能直接用
binding.pry
, 堅持要用的話可能要用binding.remote_pry
是另一個 gempry-remote
安裝
Mac 環境下安裝
$ brew install puma/puma/puma-dev
$ sudo puma-dev -setup
請輸入 puma-dev -install -d test
安裝
這樣一來所有的專案都是 .test
,預設是 .dev
,不用的原因是因為已經被 google 拿走了
Puma 很貼心幫你簽了憑證,以下這步請記得安裝,可以解決瀏覽器打開時出現的 https unsafe 問題
$ security add-trusted-cert -k login.keychain-db ~/Library/Application\ Support/io.puma.dev/cert.pem
建立自定義域名
假設專案在 /path/to/my/awesome_project
底下
可以用絕對路徑設定
puma-dev link -n awesome_project ~/path/to/my/awesome_project
或是直接切到 Rails 專案底下
puma-dev link -n awesome_project .
兩種選一種就可以,一樣的意思。
這樣打開 https://awesome_project.test
就可以看到 Rails app 了,依樣畫葫蘆,其他專案也這樣設定是不是就可以有多個自定義本地用的開發域名了呢?
強制關閉
兩個方式,選一個順手的指令就可以了
puma-dev -stop
pkill -USR1 puma-dev
Log
Rails Log
rails s
的壞處是,只要設定檔案變更,就要結束掉重起。但它也有好處,就是可以直接看 Live Log,方便 Debug。那麼使用 Puma dev 之後,要怎麼樣繼續看 Log 去 debug 呢?
開一個視窗切到專案目錄下用 tail -f log/development.log
這個指令,持續追蹤 Log。
Puma Log
可以到 ~/Library/Logs/puma-dev.log
看 log