2016-12-08 8 views
0

私はレールテストを学習しています。ガードを称賛する多くのさまざまな情報源を聞いた後、私はそれをインストールする予定でした。しかし、私は問題が私のアプリにそれをインストールしている。Guardがクラスをロードできませんでした:レール

guard rspec githubに示されている手順に従っています。ここに私がやったことです:

gem 'guard-rspec', require: false #on gemfile development group 

$ bundle install 
$ bundle exec guard init rspec 

ノー困難とbundle installすることができたが、私はguard init rails rspecを走った時はいつでも、それは次のエラーを示しています

iggy$ guard init rails rspec 
Expected string default value for '--listen-on'; got false (boolean) 
22:19:09 - ERROR - Could not load 'guard/rails' or find class Guard::Rails 
22:19:09 - ERROR - Error is: cannot load such file -- guard/rails 
22:19:09 - ERROR - /Users/iggy/.rvm/gems/ruby-2.2.3/gems/guard-2.14.0/li... 
... 
/Users/iggy/.rvm/gems/ruby-2.2.3/gems/guard-2.14.0/lib/guard/dsl.rb:383:in `rescue in evaluate': Invalid Guardfile, original error is: 

Could not load class: "Rails", 
backtrace: 
    (dsl)> $GEM_PATH[0]/gems/guard-2.14.0/lib/guard/plugin_util.rb:57:in `initialize_plugin' 
    (dsl)> $GEM_PATH[0]/gems/guard-2.14.0/lib/guard/internals/plugins.rb:26:in `add' 
... 

それがロードできませんでしたと言う理由は、私はわかりませんRailsクラス。私はgem install railsに走った。まだまったく同じエラーです。ここで

は私の完全なgemfileです:

source 'https://rubygems.org' 

gem 'rails', '~> 5.0.0' 

gem 'puma', '~> 3.0' 
gem 'sass-rails', '~> 5.0' 
gem 'uglifier', '>= 1.3.0' 
gem 'coffee-rails', '~> 4.2' 
gem 'jquery-rails' 
gem 'turbolinks', '~> 5' 
gem 'jbuilder', '~> 2.5' 
gem 'carrierwave', '>= 1.0.0.rc', '< 2.0' 
gem 'fog' 
gem 'figaro' 
gem 'mini_magick' 
gem 'devise' 
gem 'searchkick' 

group :development, :test do 
    gem 'byebug', platform: :mri 
    gem 'rspec-rails', '~> 3.5' 
    gem 'factory_girl_rails', '~> 4.7.0' 
end 

group :test do 
    gem 'faker', '~> 1.6.6' 
    gem 'capybara', '~> 2.10.2' 
    gem 'database_cleaner', '~> 1.5.3' 
    gem 'launchy', '~> 2.4.3' 
    gem 'selenium-webdriver', '~> 3.0.3' 
end 

group :development do 
    gem 'sqlite3' 
    gem 'web-console' 
    gem 'listen', '~> 3.0.5' 
    gem 'spring' 
    gem 'spring-watcher-listen', '~> 2.0.0' 
    gem 'guard-rspec', '4.6.0', require: false 
end 
group :production do 
    gem 'rails_12factor' 
    gem 'pg' 
end 

gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] 

ガードRSpecのためのgithubのは言う:

Compatible with RSpec >2.99 & 3 
Tested against Ruby 2.2.x, JRuby 9.0.5.0 and Rubinius. 

私は私のルビーは> = 2.2であるとRSpecのをvであることが確認され3+。

アプリでガードを実行するには何が必要ですか?ありがとう!

答えて

0

guard init railsは不要です。 guard init xxxはプラグイン名(guard-xxx)のみです。

0

何が間違っているかがわかります。私は前に2人の異なる警備員と遊んでいた:guard-railsguard-rspec。明らかに私はguard initコマンドを実行していましたが、私のgemfilesにはguard-railsがあり、それはGuardfileを作成しました。

guard-railsguard-rspecに変更し、guard init rspecを実行したときに、古いGuardfileが自動的に上書きされず、エラーが発生しました。私は古いGuardfileを削除し、正しいガードを持っていた:guard-rspec私のgemfilesに、バンドルがインストールされ、guard init rspecを実行し、それは働いた!

私のためなポイント(その他):

あなたは(あなたが右のガードを持っていないことを不満を作成guardfileが、レールを有する)で同様の問題に遭遇した場合は、Guardfile、一度生成は、ないことに注意してください自動的に上書きされます。あなたが別のガードの宝石を持っていた場合は、まず古いガードファイルを削除してから、新しいガードファイルを作成してください!

関連する問題