Rails 3.1.1 Guard-rspec cannot run due to Growl errors: OSERROR: -10000 MESSAGE: Apple event handler failed
Asked Answered
F

2

8

I have been running Guard for RSPEC and using the growl_notify gem for a while now (2-3 months), but now I cannot get guard to run in any of my Rails 3.1.1 projects. I've done some research on the error itself, but couldn't come up with anything conclusive (except someone else has the same issue).

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

Error:

Thomas@Thomas-Cannons-MacBook-Pro:~/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>'
Fogged answered 26/12, 2011 at 23:58 Comment(1)
i just ran into the same issueHammad
V
7

Here's what worked for me. Two things:

First, Guard 0.10.x. requires Growl >= 1.3. Install Growl 1.3 from the App Store (thew reviews are really bad, but I had no trouble).

Second, the new Guard versions recommend ruby_gntp. Simply replace gem 'growl_notify' with gem 'ruby_gntp'.

Vanhook answered 5/1, 2012 at 14:19 Comment(1)
Go the gem 'ruby_gntp' if youre on snow leopardScrimmage
K
5

This appears to be a version mismatch between Growl and growl_notify. growl_notify 0.0.3 changed the Growl application name, which near as I can tell changed with Growl 1.3 (Lion only)

I believe it works out to:

  • use growl_notify 0.0.2 for Growl < 1.3
  • use growl_notify 0.0.3 for Growl >= 1.3
  • use growl gem (what I did)
Kinsler answered 30/12, 2011 at 4:4 Comment(1)
Don't forget to uninstall other gems (e.g. remove growl_notify if you're using growl gem).Killingsworth

© 2022 - 2024 — McMap. All rights reserved.