2012-03-05 11 views
13

Zwykłem uruchamiać domyślny terminal bash dostarczany z Mac Os X Lion, ale niedawno został uaktualniony do ZSH z dodatkiem Oh My Zsh.Dlaczego ZSH zwraca błąd "Nie znaleziono polecenia" dla moich klejnotów RVM?

Od tego czasu dostaję dziwny błąd podczas używania klejów Ruby.

W zasadzie wszystkie klejnoty zwracają błąd "nie znaleziono polecenia", mimo że są zainstalowane.


Oto przykład prosto z mojego terminalu zsh:

  1. Pokazuje, że RVM rubin działa tak jak powinno.
  2. rvm list pokazuje mój ruby ​​RVM jako domyślny, jak chcę.
  3. pokazuje, że moje klejnoty są zainstalowane, zanotuj sass klejnot.
  4. Uruchamianie prostego polecenia sass --watch zwraca zsh: command not found: sass.
  5. Tak na wszelki wypadek, mój $PATH zmienny wynik.

    Jannis-Mac-Pro: /Volumes/Storage2/Sites/git/mathewhawley.com/static 
    → which ruby 
    /Users/jannis/.rvm/rubies/ruby-1.9.2-p290/bin/ruby 
    
    Jannis-Mac-Pro: /Volumes/Storage2/Sites/git/mathewhawley.com/static 
    → rvm list  
    
    rvm rubies 
    
    =* ruby-1.9.2-p290 [ x86_64 ] 
    
    # => - current 
    # =* - current && default 
    # * - default 
    
    
    Jannis-Mac-Pro: /Volumes/Storage2/Sites/git/mathewhawley.com/static 
    → rvm gem list 
    Please note that `rvm gem ...` is only an alias to `rvm do gem ...`, 
    it might work different as in earlier versions of RVM and will be shortly removed! 
    Also note that you do not have to prefix every command with `rvm`, they should just work by itself. 
    `rvm do gem list` is deprecated, use `rvm all do gem list` or `rvm 1.9.2 do gem list` instead. 
    
    *** LOCAL GEMS *** 
    
    addressable (2.2.7, 2.2.6) 
    chunky_png (1.2.5) 
    compass (0.11.7, 0.11.6, 0.11.5) 
    css_parser (1.2.6) 
    fssm (0.2.8.1, 0.2.7) 
    grid-coordinates (1.2.0) 
    haml (3.1.4, 3.1.3) 
    htmlentities (4.3.1) 
    json (1.6.5) 
    nokogiri (1.5.0) 
    oily_png (1.0.2) 
    premailer (1.7.3) 
    rake (0.9.2.2, 0.9.2) 
    rb-fsevent (0.9.0, 0.4.3.1) 
    rdoc (3.12) 
    rubygems-update (1.8.17, 1.8.15, 1.8.13, 1.8.11) 
    sass (3.1.15, 3.1.12, 3.1.10) 
    stitch (0.1.3.2) 
    
    Jannis-Mac-Pro: /Volumes/Storage2/Sites/git/mathewhawley.com/static 
    → sass --style compressed --watch scss:css 
    zsh: correct 'sass' to 'case' [nyae]? n 
    zsh: command not found: sass 
    
    Jannis-Mac-Pro: /Volumes/Storage2/Sites/git/mathewhawley.com/static 
    → echo $PATH 
    /Users/jannis/.rvm/gems/[email protected]/bin:/Users/jannis/.rvm/rubies/ruby-1.9.2-p290/bin:/Users/jannis/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin 
    

Jeśli ktoś ma pomysł dlaczego wszystko wydaje się być uruchomiony i być zainstalowane, ale wtedy faktycznie nie znaleźć i uruchomić komendę gem Byłbym wdzięczny za pomoc.

+0

spróbuj zlokalizować binarny ręcznie w odpowiednim katalogu gem. np .: /Users/jannis/.rvm/gems/ruby-1.9.2-p290/gems/sass-3.1.15/bin/. Powinien być również w twoim /Users/jannis/.rvm/gems/[email protected]/bin. W ten sposób przynajmniej możesz go użyć, dopóki nie znajdziesz poprawnej poprawki. – ayckoster

Odpowiedz

15

sprawdzić pliki rc

  • .zshenv
  • .zshrc
  • .zlogin
  • .zprofile

najprawdopodobniej w jednym z tych PATH jest resetowany po RVM był source

także niektóre Wtyczki oh-my-zsh mogą powodować błędy, spróbuj je wyłączyć i włączać je jeden po drugim.

+0

Hmm ... po pierwsze dziękuję za odpowiedź! Przeszedłem przez wszystkie pliki, ale 'PATH' nie jest resetowany i jedyną wtyczką, której aktualnie używam, jest' git', którą wyłączyłem i to też nie pomogło. Przy bliższej inspekcji zauważyłem, że nie jestem w stanie ustawić domyślnego klejnotu rubinowego dla nowych instancji terminala, co stanowi problem. Używając 'rvm użyj ruby-1.9.2-p290 -default' ustawi tę opcję jako domyślną, ale w chwili zamknięcia i otwarcia nowego okna terminala 'lista rvm' będzie wskazywać, że ta wersja rubinu, która powinna być domyślna, nie jest używana. Jakieś pomysły? – Jannis

+5

DOH! Znalazłem przyczynę, w mojej ostatniej linii pliku '.zshrc' miałem' PATH = $ PATH: $ HOME/.rvm/bin' bez "eksportu" na początku linii. Teraz, gdy ta linia czyta 'export PATH = $ PATH: $ HOME/.rvm/bin' wszystko jest w porządku i dandy. Dzięki za pomoc. – Jannis

1

postępuj zgodnie RVM zainstalować doc, i dodać 2 linii w moim ~/.zshrc

#add $PATH in path 
export PATH="$PATH: /opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/Users/m/Downloads/temp/bin:/Applications/apache-ant-1.9.6/bin:/Users/m/Library/Android/sdk/platform-tools:/Users/m/Library/Android/sdk/tools:/Users/m/Desktop/python/vlfeat/bin/maci64:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/m/bin/FDK/Tools/osx" 
source $ZSH/oh-my-zsh.sh 
#rvm puby need this, get this file 
source ~/.profile