I got this working fine except I don't get any logging for the actual app that's running. It tells the the app has booted and then nothing.
* Directory for apps: /Users/gary/.puma-dev * Domains: dev * DNS Server port: 9253 * HTTP Server port: inherited from launchd * HTTPS Server port: inherited from launchd ! Puma dev listening on http and https
Without being able to see the logging output it's not usable for me, which sucks because this seems rather nice.
Edit: turnning on debug mode shows minimal logging. Still haven't found how to enable full development logging.
Well I'll be damned. That makes perfect sense. The other log file shows the puma-dev specific stuff and the stuff I need is where you indicated. That's perfect. Thanks for the help! I'm learning a lot from your great videos.
Thanks @kobaltz Great series. I have a issue here. I've done everything right. I've double/triple checked everything. When I run pumad, I get the message promted as web application can be accessible in http://app-name.test and when I run sudo puma-dev -setup I get: Changing '/etc/resolver/test' to be owned by UserName. So when I get the message that application can be viewed in http://app-name.test or https://app-name.test, when I go there in my browser, its loading for a minute or so and then I get error: didn't find IP-address for app-name.test. any help is appreciated and thanks in advance!
Thanks for your reply @kolbaltz, first in the app directory I ran rm ~/.puma-dev/"$(basename `pwd`)" to remove it from puma-dev, so when I go to ~/.puma-dev I can't see any folders and then I ran pkill -USR1 puma-dev to kill everything and than I ran pumad to start it again, but same issue.
Not sure what I did wrong at this point :/
Btw when I run which puma-dev I get this: /usr/local/bin/puma-dev
Im in rails 5.1
full message when I ran pumad:
* Use '/usr/local/Cellar/puma-dev/0.12/bin/puma-dev' as the location of puma-dev
* Installed puma-dev on ports: http 80, https 443
Your app should be available at http://appname.test and https://appname.test now!
I ran tail -f ~/library/Logs/puma-dev.log and this is the output:
* HTTPS Server port: inherited from launchd
! Puma dev listening on http and https
and bunch of
2018/12/28 20:25:21 Error listening: accept tcp 0.0.0.0:0: accept: invalid argument
* Directory for apps: /Users/UserName/.puma-dev
* Domains: test
* DNS Server port: 9253
* HTTP Server port: inherited from launchd
* HTTPS Server port: inherited from launchd
! Puma dev listening on http and https
2018/12/28 20:25:31 Error listening: accept tcp 0.0.0.0:0: accept: invalid argument
[SOLVED] For future reference for others if they had same issue as me. My problem was that I had programs running on port 80, so I ran ** lsof -t -i :80** and saw the programs running there, after that I ran ** lsof -t -i :81** (or **lsof -t -i :YOUR-PORT**) to check if anything running there and it wasn't so I did **puma-dev -install -install-port 81** and that solved my issue.
Another issue some Mac (chrome) user can face is the certificate issue. What I did was to drag the certificate to my desktop and than drag it to my keychain and allow everything, quite and restart chrome and my problem was solved.
Thanks for great series @kobaltz
I've install **puma-dev** at the latest Mojave 10.14.3 and got the following:
```
unexpected exit:
from /usr/local/bin/puma:25:in `'
```
On the white screen.
Logs are:
```
! Detecting app 'nohum' dying on start
! SHELL env var not set, using /bin/bash by default! Booting app 'nohum' on socket /Users/dima/.puma-dev/nohum/tmp/puma-dev-32809.sock
nohum[32824]: bash: no job control in this shell
nohum[32824]: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/dependency.rb:319:in `to_specs': Could not find 'puma' (>= 0.a) among 19 total gem(s) (Gem::LoadError)
nohum[32824]: Checked in 'GEM_PATH=/.gem/ruby/2.3.0:/Library/Ruby/Gems/2.3.0:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/gems/2.3.0', execute `gem env` for more information
nohum[32824]: from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/dependency.rb:328:in `to_spec'
nohum[32824]: from /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_gem.rb:65:in `gem'
nohum[32824]: from /usr/local/bin/puma:25:in `'
! Killing 'nohum' (32824)
* App 'nohum' shutdown and cleaned up
! Detecting app 'nohum' dying on start
```
It seems like it tries to get gems from system preinstalled Ruby distribution, but I use rbenv.
How to make it work with rbenv?
puma-dev now supports the ability to map your application with a helper. This would replace the need to use the pumad script as shown in the video.
Thanks for the screencast. Do you know whether puma-dev works with foreman?
You may not need foreman with puma-dev since it will automatically start up your Rails app on the first request.
I use my procfile with foreman to start redis and resque, would these automatically start with puma-dev?
Puma-dev wouldn't automatically start those services. It will just start the Rails app.
Im having the same problem Im using procfile with foreman. How can we implement the use of it.
I got this working fine except I don't get any logging for the actual app that's running. It tells the the app has booted and then nothing.
Without being able to see the logging output it's not usable for me, which sucks because this seems rather nice.
Edit: turnning on debug mode shows minimal logging. Still haven't found how to enable full development logging.
You should be able to tail the development logs. You should be able to go into your app directory and tail the logs
After you run the puma dev install, it should not stay in your terminal, it should redirect you back to the command prompt.
Well I'll be damned. That makes perfect sense. The other log file shows the puma-dev specific stuff and the stuff I need is where you indicated. That's perfect. Thanks for the help! I'm learning a lot from your great videos.
I added a small script to manage puma-dev easily. Basically all scripts suggested above, in a bash script.
Here is the gist https://gist.github.com/ramonrails/d7056dd8af8c583f56493903fefbdb0c
Thank you.
PS: Nice video series. Keep going. Open source community is great! I hope my tiny contribution helps.