I’ve been a long-time user of Pow to manage my local development environment. If you’re not familiar, it maps local hostnames like
http://myapp.dev to a folder (say,
~/projects/myapp) and will start/stop the
myapp project’s development server with Rack.
This worked great… until Chrome 63.
I found this gem in the Pow release notes:
This is the last release for the forseeable future. Check out puma-dev for a contemporary alternative.
Migrating from pow to puma-dev
Although I could have upgraded Pow to fix the issue, Pow hasn’t been working well with features required to build more modern apps like WebSockets and SSL certificates — so I was well ready to move along to something new. My upgrade steps:
curl get.pow.cx/uninstall.sh | sh
brew install puma/puma/puma-dev
sudo puma-dev -setupto do some more junk (configuring /etc/resolver, but you don’t need to know anything about that).
puma-dev -install -d localhostto bind puma-dev to
.localhostdomains. I chose
.localhostbecause it’s obvious what it’s doing (
myapp.localhostclearly points to your machine) instead of the other newly-emerging standard,
puma-dev linkin each app directory to symlink them to subdomains of
You may need to resolve a Root CA issue, see below.
Now, I’m able to access
http://myapp.localhost happily (as well as
Resolved root CA issue
After following the above steps, I began to have an issue where the automatically-generated SSL certificates used for HTTPS were only trusted in some cases. Turns out the issue was that puma-dev had installed the root CA certificate in my login keychain, and not in the system one. To fix:
Launch “Keychain Access” from Applications.
Search for the “Puma-dev CA” certificate.
Drag the certificate to the “System” keychain.
Enter your password to allow the change.
Restart the application where certificates were not trusted (Chrome, for example).