2012-12-19 26 views
5

(Update: Problem von zsh verursacht, siehe akzeptierte Antwort)Rubin Rbenv versucht Zeus von Bundle zu laufen, obwohl es sich um eine globale Juwel zu sein (mit ZSH)

Vor langer Zeit, folgte ich diese große Anleitung zur Verwendung von Rbenv mit Bündler https://gist.github.com/1384279 und alles war gut in Ruby Land. (Ich habe es richtig installiert)

Bundler Juwel ist weltweit für die aktuelle Ruby-Version installiert. Alle Edelsteine ​​für jedes Projekt werden aus ihren jeweiligen gemfiles installiert.

Ich versuche, Zeus global zu installieren (wie Bundler global installiert ist), anstatt es der gemfile jedes Projekts hinzuzufügen.

[email protected]:~/some_project 
> rbenv versions 
    1.9.3-p194 
* 1.9.3-p327-perf (set by /Users/joe/some_project/.rbenv-version) 

[email protected]:~/.rbenv/versions/1.9.3-p327-perf/lib/ruby/gems/1.9.1/gems 
> ls -a 
.     method_source-0.7.1 zeus-0.13.1 
..     rake-0.9.2.2 
bundler-1.2.0.rc.2 rdoc-3.9.4 

es mir gelungen ist, wie Sie zeus global zusammen mit bundler installiert ist zu sehen ... aber:

[email protected]:~/some_project 
> rbenv rehash 

[email protected]:~/some_project 
> zeus init 
Users/joe/.rbenv/versions/1.9.3-p327-perf/lib/ruby/gems/1.9.1/gems/bundler-1.2.0.rc.2/lib/bundler/rubygems_integration.rb:147:in `block in replace_gem': zeus is not part of the bundle. Add it to Gemfile. (Gem::LoadError) 
from /Users/joe/.rbenv/versions/1.9.3-p327-perf/bin/zeus:22:in `<main>' 

Soweit ich erkennen kann, gesucht wird zeus, als ob es Bündel installiert, aber es ist nicht Bundle installiert seine global installiert.

Wie bekomme ich die Shell, um die globalen Edelsteine ​​vor den gebündelten Edelsteinen zu betrachten?

+0

Ich habe dieses Problem auch. Bug in Bundler vielleicht? –

+0

Verwenden Sie ZSH zufällig? –

+0

Yup, mit ZSH =) – xxjjnn

Antwort

5

Wenn ich es richtig verstanden habe und Sie das gleiche Problem mit mir haben und Sie auch zsh ausführen, dann ist dieses Problem, dass oh-my-zsh einige Befehle automatisch mit Bundler umschließt, wenn Sie das Bundler-Plugin installiert haben.

See: https://github.com/robbyrussell/oh-my-zsh/pull/1507

https://github.com/robbyrussell/oh-my-zsh/pull/1138

https://github.com/heroku/heroku/issues/173

EDIT: Dies wurde gefixt oh-my-zsh

+0

Danke, ich aktualisierte mit 'cd ~/.oh-meine-zsh && gl' und arbeitete – juanpastas

+0

@juanpastas Das hat nicht für mich funktioniert, ich sehe immer noch' Befehl nicht gefunden: Zeus .' Irgendwelche Vorschläge? –

+0

Ich weiß nicht, was Zeus für mich ausgibt: '~/.rvm/edelsteine ​​/ ruby-2.0.0-p247/bin/zeus' und dieser Pfad ist in meinem' PATH'. Ich hoffe, das hilft etwas. – juanpastas

4

Wenn Sie dieses Problem zu tun haben mit oh-my-zsh und Aus welchem ​​Grund auch immer Sie nicht aktualisiert haben, können Sie Zeus mit einem umgekehrten Schrägstrich voranstellen, zum Beispiel:

% \zeus start 
% \zeus g model Post title content:text 
% \zeus rake db:migrate 

Was der umgekehrte Schrägstrich tut, führt den Befehl über Aliasnamen überschreiben. Siehe diesen Abschnitt auf Wikipedia http://en.wikipedia.org/wiki/Alias_(command)#Overriding_aliases