1

Guardをjrubyで動作させることができません。1.9.3の隣のrvmを介してjrubyをインストールしました。1.9.3でGuardを実行しようとしました-正常に動作します。またはの変更のたびに仕様を自動的に実行させるにはどうすればよいですspeclib

これは私が実行bundle exec guardした後に得られるものであり、その間にファイルは変更されていません

vagrant@precise64:/vagrant/sample$ bundle exec guard
21:16:46 - INFO - Guard uses TerminalTitle to send notifications.
21:16:47 - INFO - Guard::RSpec is running
21:16:47 - INFO - Running all specs
...

Finished in 0.025 seconds
3 examples, 0 failures

21:17:20 - INFO - Guard is now watching at '/vagrant/sample'
before_session hook failed: Errno::ENOENT: No such file or directory - /vagrant/sample
org/jruby/RubyFile.java:333:in `initialize'
(see _pry_.hooks.errors to debug)
[1] guard(main)> 

そして、スペックを再度実行する唯一の方法は、ここでEnterキーを押すことです。また、私はこのことの原因を特定できませんNo such file or directory(1.9.3 MRIではポップアップしません)。私はガードの内部に精通しておらず、なぜそれが起こるのか本当にわかりません。

Guardfileは標準的なものです:

guard 'rspec' do        
  watch(%r{^spec/.+_spec\.rb$})
  watch(%r{^lib/(.+)\.rb$})     { |m| "spec/#{m[1]}_spec.rb" }
  watch('spec/spec_helper.rb')  { "spec" }
end

Gemfile含まれているのは次のとおりです。

gem 'rspec', '~>2.13.0'
gem 'guard-rspec'
gem 'rb-inotify', '~>0.9'
4

2 に答える 2

2

before_sessionフックはPryのものですが、Guard はこのタイプのフックを使用しません (使用するのは :when_started と :after_eval のみです)。

[1] guard(main)> Pry.hooks
=> #<Pry::Hooks:0x007ff0359a36c0
 @errors=[],
 @hooks=
  {:before_session=>
    [[:default,
      #<Proc:0x007ff0359a3648@/Users/michi/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/pry-0.9.12/lib/pry.rb:11>]],
   :when_started=>
    [[:load_guard_rc,
      #<Proc:0x007ff037a12910@/Users/michi/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/guard-1.6.2/lib/guard/interactor.rb:109>]],
   :after_eval=>
    [[:restore_visibility,
      #<Proc:0x007ff037a126e0@/Users/michi/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/guard-1.6.2/lib/guard/interactor.rb:116>]],
   :after_session=>[],
   :after_read=>[],
   :before_eval=>[]}>

Pry バグを報告し、修正guard -iされるまでインタラクター ( ) なしで Guard を実行します。

于 2013-03-04T12:25:24.307 に答える
0

ガードファイルに追加します

# disable Pry for continious integration
interactor :off
于 2013-12-20T09:12:58.863 に答える