2013-08-22 11 views
7

Po wpisaniu w which ruby zawsze zwraca ruby: aliased to bundled_rubyrubin: aliasem bundled_ruby

Kiedy próbuję which bundled_ruby zwraca:

bundled_ruby() { 
    _run-with-bundler ruby [email protected] 
} 

Wtedy staram which _run-with-bundler i powraca:

_run-with-bundler() { 
    if _bundler-installed && _within-bundled-project 
    then 
     bundle exec [email protected] 
    else 
     [email protected] 
    fi 
} 

Skąd się to wszystko wzięło i jak mogę ponownie uruchomić moją which ruby?

Używam OSX (v10.8.2), parzenie, rbenv, rubin-build, zsh

Odpowiedz

4

Jest to część rbenv "magii", aby obsługiwać kilka wersji Ruby z kilku wersjach gem. Spójrz na ~/.rbenv/shims/ruby, IIRC skrypt jest tam zdefiniowany.

Jeśli chcesz wyłączyć to, wystarczy unalias ruby: spowoduje to usunięcie wygenerowanego aliasu.

14

Może pochodzić z bundler plugin z oh-my-zsh.

Używa magii, aby uniknąć wpisywania bundle exec przed następującymi poleceniami: annotate berks cap capify cucumber foodcritic foreman guard jekyll kitchen knife middleman nanoc rackup rainbows rake rspec ruby shotgun spec spin spork strainer tailor taps thin thor unicorn unicorn_rails puma

Można wyłączyć tę magię dla niektórych poleceń definiując zmienną środowiskową UNBUNDLED_COMMANDS w ~/.zshrc przed załadowaniem oh-my-zsh wtyczek (patrz oh-my-zsh pull request #2195).

export UNBUNDLED_COMMANDS=ruby 
# for a list of commands 
export UNBUNDLED_COMMANDS=(ruby irb rake) 

Albo można po prostu wyjąć wtyczkę bundler od was oh-my-zsh wtyczek.

+0

Dość pomocna, podoba mi się także to, że odnotowujesz, skąd pochodzi __mości__ i nie podaje ostatecznej odpowiedzi, ponieważ OP dostarczył zbyt mało informacji o swoim środowisku. Wielkie dzięki za pomoc. –

+1

Mój kumpel miał ten problem na swoim Macu i moim pierwszym pomysłem było spojrzenie na Stack Overflow, które doprowadziło mnie do twojej odpowiedzi, która wskazuje na żądanie ściągnięcia, które napisałem i rozwiązałem problem. Pomyślałem, że będę się tym dzielić :) –

+0

W rzeczywistości miałem ten sam problem i wyglądałem na Stack Overflow też. Proponowana odpowiedź nie dotyczy mnie, ponieważ używam 'rvm', a nie' rbenv'. Ale dowiedziałem się, gdzie szukać i okazało się, że winowajcą była wtyczka zsh bundler. Patrząc na kod źródłowy, zobaczyłem zmienną 'UNBUNDLED_COMMANDS' i odnalazłem żądanie ściągnięcia. Po rozwiązaniu problemu dodałem tę odpowiedź. Dzięki za twoją pracę :) – cbliard