Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ERROR - Could not load 'guard/rspec' or' ' find class Guard::Rspec

I'm learning RoR by The Ruby on Rails Tutorial (Michael Hartl).

Now I try to run tests with Guard.

My Gemfile:

source 'https://rubygems.org'
ruby '2.0.0'
#ruby-gemset=railstutorial_rails_4_0

gem 'rails', '4.0.2'

group :development, :test do
  gem 'sqlite3', '1.3.8'
  gem 'rspec-rails', '2.13.1'
  gem 'guard-rspec', '2.5.0'
end

group :test do
  gem 'selenium-webdriver', '2.35.1'
  gem 'capybara', '2.1.0'
  gem 'libnotify', '0.8.0'
end

gem 'sass-rails', '4.0.1'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'

group :doc do
  gem 'sdoc', '0.3.20', require: false
end

group :production do
  gem 'pg', '0.15.1'
  gem 'rails_12factor', '0.0.2'
end

My Guard file:

require 'active_support/inflector'

guard 'rspec', all_after_pass: false do

  watch('config/routes.rb')
  # Custom Rails Tutorial specs
  watch(%r{^app/controllers/(.+)_(controller)\.rb$}) do |m|
    ["spec/routing/#{m[1]}_routing_spec.rb",
     "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb",
     "spec/acceptance/#{m[1]}_spec.rb",
     (m[1][/_pages/] ? "spec/requests/#{m[1]}_spec.rb" :
                       "spec/requests/#{m[1].singularize}_pages_spec.rb")]
  end
  watch(%r{^app/views/(.+)/}) do |m|
    (m[1][/_pages/] ? "spec/requests/#{m[1]}_spec.rb" :
                      "spec/requests/#{m[1].singularize}_pages_spec.rb")
  end
  watch(%r{^app/controllers/sessions_controller\.rb$}) do |m|
    "spec/requests/authentication_pages_spec.rb"
  end

end

And when I try to run: guard (or bundle exec guard) I got error:

gvyntyk@gvyntyk-r60:~/rails_projects/sample_app$ guard
14:31:28 - INFO - Guard here! It looks like your project has a Gemfile, yet you are running
> [#] `guard` outside of Bundler. If this is your intent, feel free to ignore this
> [#] message. Otherwise, consider using `bundle exec guard` to ensure your
> [#] dependencies are loaded correctly.
> [#] (You can run `guard` with --no-bundler-warning to get rid of this message.)
14:31:29 - ERROR - Could not load 'guard/rspec' or'    ' find class Guard::Rspec
14:31:29 - ERROR - Error is: cannot load such file -- guard/guard
14:31:29 - ERROR - /home/gvyntyk/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:126:in `require'
> [#] /home/gvyntyk/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:126:in `require'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-rspec-2.5.0/lib/guard/rspec.rb:2:in `<top (required)>'
> [#] /home/gvyntyk/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:135:in `require'
> [#] /home/gvyntyk/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
> [#] /home/gvyntyk/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:144:in `require'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard/plugin_util.rb:105:in `rescue in plugin_class'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard/plugin_util.rb:97:in `plugin_class'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard/plugin_util.rb:56:in `initialize_plugin'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard/internals/plugins.rb:26:in `add'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard/dsl.rb:185:in `block in guard'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard/dsl.rb:182:in `each'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard/dsl.rb:182:in `guard'
> [#] /home/gvyntyk/rails_projects/sample_app/Guardfile:3:in `evaluate'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard/dsl.rb:377:in `instance_eval'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard/dsl.rb:377:in `evaluate'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard/guardfile/evaluator.rb:90:in `evaluate'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard.rb:134:in `_evaluate'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard.rb:49:in `setup'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard/commander.rb:32:in `start'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard/cli/environments/valid.rb:16:in `start_guard'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard/cli.rb:113:in `start'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard/aruba_adapter.rb:32:in `execute'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/lib/guard/aruba_adapter.rb:19:in `execute!'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/gems/guard-2.11.1/bin/guard:11:in `<top (required)>'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/bin/guard:23:in `load'
> [#] /home/gvyntyk/.rvm/gems/ruby-2.0.0-p598@railstutorial_rails_4_0/bin/guard:23:in `<main>'
14:31:29 - ERROR - Invalid Guardfile, original error is: 
> [#] 
> [#] Could not load class: "Rspec", 
> [#] backtrace: 
> [#]   (dsl)> $GEM_PATH[0]/gems/guard-2.11.1/lib/guard/plugin_util.rb:57:in `initialize_plugin'
> [#]   (dsl)> $GEM_PATH[0]/gems/guard-2.11.1/lib/guard/internals/plugins.rb:26:in `add'
> [#]   (dsl)> $GEM_PATH[0]/gems/guard-2.11.1/lib/guard/dsl.rb:185:in `block in guard'
> [#]   (dsl)> $GEM_PATH[0]/gems/guard-2.11.1/lib/guard/dsl.rb:182:in `each'
> [#]   (dsl)> $GEM_PATH[0]/gems/guard-2.11.1/lib/guard/dsl.rb:182:in `guard'
> [#]   (dsl)> ./Guardfile:3:in `evaluate'
> [#]   (dsl)> $GEM_PATH[0]/gems/guard-2.11.1/lib/guard/dsl.rb:377:in `instance_eval'
> [#]   (dsl)> $GEM_PATH[0]/gems/guard-2.11.1/lib/guard/dsl.rb:377:in `evaluate'
> [#]   (dsl)> $GEM_PATH[0]/gems/guard-2.11.1/lib/guard/guardfile/evaluator.rb:90:in `evaluate'
> [#]   (dsl)> $GEM_PATH[0]/gems/guard-2.11.1/lib/guard.rb:134:in `_evaluate'
> [#]   (dsl)> $GEM_PATH[0]/gems/guard-2.11.1/lib/guard.rb:49:in `setup'
> [#]   (dsl)> $GEM_PATH[0]/gems/guard-2.11.1/lib/guard/commander.rb:32:in `start'
> [#]   (dsl)> $GEM_PATH[0]/gems/guard-2.11.1/lib/guard/cli/environments/valid.rb:16:in `start_guard'
> [#]   (dsl)> $GEM_PATH[0]/gems/guard-2.11.1/lib/guard/cli.rb:113:in `start'
> [#]   (dsl)> $GEM_PATH[0]/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
> [#]   (dsl)> $GEM_PATH[0]/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
> [#]   (dsl)> $GEM_PATH[0]/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
> [#]   (dsl)> $GEM_PATH[0]/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
> [#]   (dsl)> $GEM_PATH[0]/gems/guard-2.11.1/lib/guard/aruba_adapter.rb:32:in `execute'
> [#]   (dsl)> $GEM_PATH[0]/gems/guard-2.11.1/lib/guard/aruba_adapter.rb:19:in `execute!'
> [#]   (dsl)> $GEM_PATH[0]/gems/guard-2.11.1/bin/guard:11:in `<top (required)>'
> [#]   (dsl)> $GEM_PATH[0]/bin/guard:23:in `load'
> [#]   (dsl)> $GEM_PATH[0]/bin/guard:23:in `<main>'

BTW:

gem list | grep guard
guard (2.11.1)
guard-compat (1.2.1)
guard-rspec (2.5.0)

What's wrong?

like image 615
Gvyntyk Avatar asked Jan 20 '15 13:01

Gvyntyk


2 Answers

This error spent a more hours, and i found true way

$ cd <appfolder>
$ vim Gemfile

instead of 
gem 'guard-rspec', '2.5.0'
replace on
gem 'guard-rspec', '4.6.0'


instead of 
gem 'rspec-rails', '2.13.1'
replace on
gem 'rspec-rails', '3.3.2'

And

$ bundle update
$ bundle exec guard init rspec

Guardfile will be correct.

like image 79
Igor Semin Avatar answered Oct 17 '22 18:10

Igor Semin


I was having the same problem and worked out, eventually, that some dependencies on versions in my gems was preventing my guard-rspec gem from being updated to the latest (4.5.0), while the core guard gem was updated to 2.12.5. Once I resolved the issue that was keeping my version of guard-rspec from advancing, everything suddenly worked just fine.

Try editing your Gemfile and remove all the fixed versions from it (don't remove the gem lines, just the version arguments), except for the Rails gem entry (keep that 4.0.2). Then run bundle update and see if that resolves your problem.

like image 23
dotdotdotPaul Avatar answered Oct 17 '22 19:10

dotdotdotPaul