Skip to content

Puma plugin is not working with puma-dev #386

Closed
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions