Description
Hi there,
Is anyone aware of a way to get the puma plugin working when using puma-dev to run the dev server?
I receive the following error in ~/Library/Logs/puma-dev.log
! Booting app 'tailwind_test-9dccc5d5' on socket /Users/mike/.puma-dev/tailwind_test/tmp/puma-dev-751.sock
tailwind_test-9dccc5d5[59653]: Puma starting in single mode...
tailwind_test-9dccc5d5[59653]: * Puma version: 6.4.2 (ruby 3.0.3-p157) ("The Eagle of Durango")
tailwind_test-9dccc5d5[59653]: * Min threads: 0
tailwind_test-9dccc5d5[59653]: * Max threads: 5
tailwind_test-9dccc5d5[59653]: * Environment: development
tailwind_test-9dccc5d5[59653]: * PID: 59653
tailwind_test-9dccc5d5[59653]: /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/tailwindcss-rails-2.6.5-x86_64-darwin/lib/puma/plugin/tailwindcss.rb:14:in `block in start': uninitialized constant Tailwindcss (NameError)
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/tailwindcss-rails-2.6.5-x86_64-darwin/lib/puma/plugin/tailwindcss.rb:9:in `fork'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/tailwindcss-rails-2.6.5-x86_64-darwin/lib/puma/plugin/tailwindcss.rb:9:in `start'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/puma-6.4.2/lib/puma/plugin.rb:24:in `block in fire_starts'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/puma-6.4.2/lib/puma/plugin.rb:22:in `each'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/puma-6.4.2/lib/puma/plugin.rb:22:in `fire_starts'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/puma-6.4.2/lib/puma/launcher.rb:188:in `run'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/puma-6.4.2/lib/puma/cli.rb:75:in `run'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/puma-6.4.2/bin/puma:10:in `<top (required)>'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/bin/puma:25:in `load'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/bin/puma:25:in `<top (required)>'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/bundler-2.3.6/lib/bundler/cli/exec.rb:58:in `load'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/bundler-2.3.6/lib/bundler/cli/exec.rb:58:in `kernel_load'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/bundler-2.3.6/lib/bundler/cli/exec.rb:23:in `run'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/bundler-2.3.6/lib/bundler/cli.rb:484:in `exec'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/bundler-2.3.6/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/bundler-2.3.6/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/bundler-2.3.6/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/bundler-2.3.6/lib/bundler/cli.rb:31:in `dispatch'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/bundler-2.3.6/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/bundler-2.3.6/lib/bundler/cli.rb:25:in `start'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/bundler-2.3.6/exe/bundle:48:in `block in <top (required)>'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/bundler-2.3.6/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/bundler-2.3.6/exe/bundle:36:in `<top (required)>'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/bin/bundle:23:in `load'
tailwind_test-9dccc5d5[59653]: from /Users/mike/.rbenv/versions/3.0.3/bin/bundle:23:in `<main>'
tailwind_test-9dccc5d5[59653]: * Listening on unix:/Users/mike/.puma-dev/tailwind_test/tmp/puma-dev-751.sock
tailwind_test-9dccc5d5[59653]: Use Ctrl-C to stop
! App 'tailwind_test-9dccc5d5' booted
tailwind_test-9dccc5d5[59653]: Detected tailwind has gone away, stopping Puma...
tailwind_test-9dccc5d5[59653]: - Gracefully stopping, waiting for requests to finish
tailwind_test-9dccc5d5[59653]: === puma shutdown: 2024-07-30 14:38:28 -0600 ===
tailwind_test-9dccc5d5[59653]: - Goodbye!
! Killing 'tailwind_test-9dccc5d5' (59653) - 'stdout/stderr closed'
* App 'tailwind_test-9dccc5d5' shutdown and cleaned up
To make sure it wasn't a Gem compatibility issue, I started a new project with only the required changes to enable puma-dev and the plugin and I do get the same error.
rails new tailwind_test --css tailwind
cd tailwind_test
puma-dev link
I added the plugin into config/puma.rb
:
plugin :tailwindcss if ENV.fetch("RAILS_ENV", "development") == "development"
And I made sure that my puma-dev instance is loading that puma configuration file:
cat ~/.powconfig
CONFIG=./config/puma.rb
If I comment out the plugin, restart puma-dev with puma-dev --stop
and reload the page, everything boots up normal. Repeat those steps but with the plugin enabled and it fails with:
.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/tailwindcss-rails-2.6.5-x86_64-darwin/lib/puma/plugin/tailwindcss.rb:14:in 'block in start': uninitialized constant Tailwindcss (NameError)
My versions are:
- Ruby 3.0.3 (also tested with 3.3.4, same error)
- Rails 7.1.3.4
- Puma 6.4.2
- puma-dev 0.18.3
- tailwindcss-rails 2.6.5
Thanks