2011-12-26 3 views
8

Я запускаю Guard для RSPEC и используя растение growl_notify какое-то время (2-3 месяца) но теперь я не могу получить guard для запуска в любом из моих проектов Rails 3.1.1. Я провел некоторое исследование самой ошибки, но не смог придумать ничего убедительного (кроме someone else имеет ту же проблему).Rails 3.1.1 Guard-rspec не может работать из-за ошибок Growl: OSERROR: -10000 СООБЩЕНИЕ: обработчик событий Apple завершился неудачно

Gemfile:

source 'http://rubygems.org' 

gem 'rails', '3.1.1' 

# Bundle edge Rails instead: 
# gem 'rails',  :git => 'git://github.com/rails/rails.git' 

# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.1.4' 
    gem 'coffee-rails', '~> 3.1.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 
gem 'spreadsheet' # Allows for reading/writing Excel files. We also need a CSV importer, but that can come later 
gem 'gmaps4rails' # Allows for Google Maps Pushpins/Markers/Places 
gem 'scoped_search' # For Searching 
gem "paperclip", :git => "git://github.com/thoughtbot/paperclip.git" # For File Uploads 

group :test, :development do 
    gem 'sqlite3' 
    gem 'turn', '<0.8.3' 
    gem 'rspec-rails' 
    gem 'capybara' 
    gem 'guard-rspec' 
    gem 'growl_notify' 
    gem 'launchy' 
    gem 'capistrano' #You don't want Capistrano on the production side (I think) 
end 

group :production do 
    gem 'pg' #use postgres for database installation as the database 
end 

Ошибка:

[email protected]:~/development/rails/tasks$ guard 
/Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/rb-appscript-0.6.1/lib/appscript.rb:542:in `_send_command': CommandError (Appscript::CommandError) 
     OSERROR: -10000 
     MESSAGE: Apple event handler failed. 
     COMMAND: app("/Library/PreferencePanes/Growl.prefPane/Contents/Resources/GrowlHelperApp.app").register({:all_notifications=>["success", "pending", "failed", "notify"], :as_application=>"Guard", :default_notifications=>"notify"}) 
    from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/rb-appscript-0.6.1/lib/appscript.rb:642:in `method_missing' 
    from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/growl_notify-0.0.3/lib/growl_notify.rb:29:in `register' 
    from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/growl_notify-0.0.3/lib/growl_notify.rb:19:in `config' 
    from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/guard-0.9.4/lib/guard/notifiers/growl_notify.rb:42:in `available?' 
from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/guard- 0.9.4/lib/guard/notifier.rb:117:in `add_notification' 
    from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/guard-0.9.4/lib/guard/notifier.rb:154:in `block in auto_detect_notification' 
    from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/guard-0.9.4/lib/guard/notifier.rb:154:in `each' 
    from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/guard-0.9.4/lib/guard/notifier.rb:154:in `any?' 
    from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/guard-0.9.4/lib/guard/notifier.rb:154:in `auto_detect_notification' 
from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/guard- 0.9.4/lib/guard/notifier.rb:80:in `turn_on' 
    from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/guard-0.9.4/lib/guard.rb:184:in `start' 
    from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/guard-0.9.4/lib/guard/cli.rb:74:in `start' 
    from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/thor-0.14.6/lib/thor/task.rb:22:in `run' 
from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/thor- 0.14.6/lib/thor/invocation.rb:118:in `invoke_task' 
from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/thor- 0.14.6/lib/thor.rb:263:in `dispatch' 
    from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/thor-0.14.6/lib/thor/base.rb:389:in `start' 
    from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/gems/guard-0.9.4/bin/guard:6:in `<top (required)>' 
    from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/bin/guard:19:in `load' 
    from /Users/Thomas/.rvm/gems/ruby-1.9.2-p290/bin/guard:19:in `<main>' 
+0

Я просто столкнулся с тем же вопросом – keruilin

ответ

5

Это, как представляется, несоответствие версий между Growl и growl_notify. growl_notify 0.0.3 изменил название приложения Growl, который рядом, как я могу сказать, изменилось с Growl 1.3 (Lion только)

Я считаю, что это работает на:

  • использования growl_notify 0.0.2 для Growl < 1.3
  • использование growl_notify 0.0.3 для Growl> = 1.3
  • использование рычать драгоценный камень (что я и сделал)
+0

Не забудьте удалить другие драгоценные камни (например, удалите growl_notify, если вы используете жужжание). – Lenart

7

Вот что работал для меня. Две вещи:

Во-первых, Guard 0.10.x. требует Growl> = 1.3. Установите Growl 1.3 из App Store (эти обзоры действительно плохие, но у меня не было проблем).

Во-вторых, новые версии Guard рекомендуют ruby_gntp. Просто замените gem 'growl_notify' на gem 'ruby_gntp'.

+0

Пойдите жемчужину «ruby_gntp», если вы на снежном барсе –