Skip to content

Puma plugin is not working with puma-dev #386

@mikegabriel

Description

@mikegabriel

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions