briandunn / flatware

A parallel test runner for RSpec and Cucumber with pretty output
MIT License
256 stars 35 forks source link

failed to load command: flatware #47

Closed lukeredpath closed 3 years ago

lukeredpath commented 5 years ago

Trying to get this working and not having any luck.

I've added flatware-rspec to my Rails Gemfile.

I can run flatware without using bundle exec and prepare the test database, but it prints this warning:

The flatware gem is a dependency of flatware runners for rspec and cucumber.  Try adding flatware-rspec or flatware-cucumber to your Gemfile.

If I run it using bundle exec (which is what I would expect should be the solution), it blows up:

bundler: failed to load command: flatware (/Users/luke/.rbenv/versions/2.5.3/bin/flatware)
NameError: uninitialized constant Flatware::RSpec::JobBuilder::Forwardable

What am I doing wrong? It looks like job_builder.rb is missing a require "forwardable".

🤷‍♂

lukeredpath commented 5 years ago

Had a look at the source and it looks like this is fixed on master, in case anyone else has this issue you're going to need to use this for now:

gem 'flatware', github: 'briandunn/flatware', require: false
briandunn commented 5 years ago

Interesting. I'll cut a version with the missing require, but I'm currious why the current release works for me. Could you pass along your Gemfile.lock, or at least the rspec bits?

ingemar commented 4 years ago

Hi Brian,

I get the same problem...

$ bundle exec flatware rspec
bundler: failed to load command: flatware (/Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bin/flatware)
NameError: uninitialized constant Flatware::RSpec::JobBuilder::Forwardable
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-rspec-1.1.0/lib/flatware/rspec/job_builder.rb:9:in `<class:JobBuilder>'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-rspec-1.1.0/lib/flatware/rspec/job_builder.rb:8:in `<module:RSpec>'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-rspec-1.1.0/lib/flatware/rspec/job_builder.rb:4:in `<module:Flatware>'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-rspec-1.1.0/lib/flatware/rspec/job_builder.rb:3:in `<top (required)>'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-1.1.0/lib/flatware/rspec.rb:11:in `require'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-1.1.0/lib/flatware/rspec.rb:11:in `<module:RSpec>'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-1.1.0/lib/flatware/rspec.rb:8:in `<module:Flatware>'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-1.1.0/lib/flatware/rspec.rb:7:in `<top (required)>'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-rspec-1.1.0/lib/flatware-rspec.rb:1:in `require'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-rspec-1.1.0/lib/flatware-rspec.rb:1:in `<top (required)>'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-1.1.0/lib/flatware/cli.rb:61:in `require'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-1.1.0/lib/flatware/cli.rb:61:in `each'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-1.1.0/lib/flatware/cli.rb:61:in `<top (required)>'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-1.1.0/lib/flatware.rb:4:in `require'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-1.1.0/lib/flatware.rb:4:in `<module:Flatware>'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-1.1.0/lib/flatware.rb:1:in `<top (required)>'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-1.1.0/bin/flatware:5:in `require'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/flatware-1.1.0/bin/flatware:5:in `<top (required)>'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bin/flatware:23:in `load'
  /Users/ingemar/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/bin/flatware:23:in `<top (required)>'

Excerpts from Gemfile.lock:

    flatware (1.1.0)
      ffi-rzmq (~> 2.0)
      thor (~> 0.13)
    flatware-rspec (1.1.0)
      flatware (= 1.1.0)
      rspec (>= 3.4)

    ...

    rspec (3.8.0)
      rspec-core (~> 3.8.0)
      rspec-expectations (~> 3.8.0)
      rspec-mocks (~> 3.8.0)
    rspec-core (3.8.0)
      rspec-support (~> 3.8.0)
    rspec-expectations (3.8.1)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.8.0)
    rspec-json_expectations (1.4.0)
    rspec-mocks (3.8.0)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.8.0)
    rspec-rails (3.8.0)
      actionpack (>= 3.0)
      activesupport (>= 3.0)
      railties (>= 3.0)
      rspec-core (~> 3.8.0)
      rspec-expectations (~> 3.8.0)
      rspec-mocks (~> 3.8.0)
      rspec-support (~> 3.8.0)
    rspec-support (3.8.0)
    rspec_junit_formatter (0.4.1)
      rspec-core (>= 2, < 4, != 2.12.0)

Running straight from your master here on GitHub seem to work fine.

WaKeMaTTa commented 4 years ago

Try to run rbenv rehash first.

briandunn commented 3 years ago

Should be resolved