Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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>'
like image 557
Locke Cole117 Avatar asked Dec 26 '11 23:12

Locke Cole117


2 Answers

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'.

like image 194
KendallB Avatar answered Sep 28 '22 19:09

KendallB


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)
like image 22
Justin Love Avatar answered Sep 28 '22 19:09

Justin Love