Error al ejecutar el ejecutable de la gem porque otra gem no es parte del package

Estoy creando una joya (ver https://github.com/hamchapman/rewinder ) que tiene ruby-git ( https://github.com/schacon/ruby-git ) como una dependencia.

Parte de mi gem tiene un ejecutable https://github.com/hamchapman/rewinder/blob/master/bin/rewinder

que básicamente solo requiere el file lib principal https://github.com/hamchapman/rewinder/blob/master/lib/rewinder.rb

y luego ejecuta el método allí (todo desorderado en este momento, ignore eso por ahora).

Cuando instalo la gem localmente y la uso en otro repository recibo el siguiente error:

/Users/Hami/.rvm/gems/ruby-2.1.2/gems/git-1.2.7/lib/git/lib.rb:764:in `command': git checkout '6eef72baf24bed761f753267cce16402e4a947f8' 2>&1:Note: checking out '6eef72baf24bed761f753267cce16402e4a947f8'. (Git::GitExecuteError) You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at 6eef72b... Trying another bg-color change for homeboy /Users/Hami/.rvm/gems/ruby-2.1.2@global/gems/bundler-1.6.2/lib/bundler/rubygems_integration.rb:252:in `block in replace_gem': hookup is not part of the bundle. Add it to Gemfile. (Gem::LoadError) from /Users/Hami/.rvm/gems/ruby-2.1.2/bin/hookup:22:in `<main>' from /Users/Hami/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval' from /Users/Hami/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>' from /Users/Hami/.rvm/gems/ruby-2.1.2/gems/git-1.2.7/lib/git/lib.rb:528:in `checkout' from /Users/Hami/.rvm/gems/ruby-2.1.2/gems/git-1.2.7/lib/git/base.rb:325:in `checkout' from /Users/Hami/.rvm/gems/ruby-2.1.2/gems/rewinder-0.0.1/lib/rewinder.rb:11:in `block in heloo' from /Users/Hami/.rvm/gems/ruby-2.1.2/gems/rewinder-0.0.1/lib/rewinder.rb:10:in `each' from /Users/Hami/.rvm/gems/ruby-2.1.2/gems/rewinder-0.0.1/lib/rewinder.rb:10:in `each_with_index' from /Users/Hami/.rvm/gems/ruby-2.1.2/gems/rewinder-0.0.1/lib/rewinder.rb:10:in `heloo' from /Users/Hami/.rvm/gems/ruby-2.1.2/gems/rewinder-0.0.1/bin/rewinder:4:in `<top (requinetworking)>' from /Users/Hami/.rvm/gems/ruby-2.1.2/bin/rewinder:23:in `load' from /Users/Hami/.rvm/gems/ruby-2.1.2/bin/rewinder:23:in `<main>' from /Users/Hami/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval' from /Users/Hami/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>' 

Realmente no entiendo el error ya que ni mi gem, ni la gem ruby-git tienen hookup como una dependencia. Si cargo el file /Users/Hami/.rvm/gems/ruby-2.1.2/bin/hookup

luego comenta las dos líneas inferiores como esta:

 #!/usr/bin/env ruby_executable_hooks # # This file was generated by RubyGems. # # The application 'hookup' is installed as part of a gem, and # this file is here to facilitate running it. # require 'rubygems' version = ">= 0" if ARGV.first str = ARGV.first str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then version = $1 ARGV.shift end end #gem 'hookup', version #load Gem.bin_path('hookup', 'hookup', version) 

entonces el error no ocurre.

Por lo que he leído, parece que podría tener algo que ver con la forma en que oh-my-zsh envuelve ciertos commands, ¿tal vez está envolviendo a un git?

¿Alguna sugerencia?

De la documentation de connection :

Cada vez que cambia su HEAD actual, hookup comtesting si su Gemfile , Gemfile.lock o gem gem ha cambiado. Si es así, ejecuta la comprobación del package, y si eso indica que algunas dependencies no están satisdates, ejecuta la installation del package.

De esto averiguo que la gem escucha los events de git checkout . Como lo hace en su código, los ganchos de connection cobran vida y se confunden (independientemente de si es parte de su aplicación Ruby o no).

Intenta desinstalar la gem y vuelve a intentarlo.

Si esto resuelve su problema, puede considerar abrir un problema al autor de la gem para solucionarlo.