2012-03-05 13 views
7

Niedawno przełączyłem się na używanie zsh z oh-my-zsh i mam problemy z używaniem narzędzia linii poleceń rails. Oto etapy, przez które przeszedłem i błąd, który otrzymuję.Przełączenie na zsh powoduje przerwanie szyn w linii poleceń

wpadłem polecenia curl że strona GitHub zapewnia:

curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh 

Potem poszedłem do uruchomienia szyn, ten jest następujący komunikat o błędzie, że otrzymuję:

.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find railties (>= 0) amongst [bigdecimal-1.1.0, io-console-0.3, json-1.5.4, minitest-2.5.1, rake-0.9.2.2, rdoc-3.9.4] (Gem::LoadError) 

to wygląda Mam błąd gem, więc ponownie zainstalowałem rvm, rails i bundler z niczym nie rozwiązującym problemu. Jednak jeśli przełożę terminal z powrotem na bash, to nie mam żadnych problemów i szyny działają idealnie dobrze. Czy ktoś inny ma podobny problem? Chcę użyć zsh, ponieważ wygląda na to, że ma lepsze funkcje, ale jeśli nie mogę używać szyn, muszę go zrzucić do krawężnika.

Są to linie na końcu mojego pliku .zshrc:

export PATH=/Users/thomascioppettini/.rvm/gems/ruby-1.9.3p0/bin:/Users/thomascioppettini/.rvm/gems/[email protected]/bin:/Users/thomascioppettini/.rvm/rubies/ruby-1.9.3-p0/bin:/Users/thomascioppettini/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin 

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting 
+0

możliwe duplikat [RVM nie pracuje w zsh] (http://stackoverflow.com/questions/4755538/rvm-is-not-working-in-zsh) – igaurav

Odpowiedz

3

Ok mam go do pracy przez usunięcie ścieżkę, który został ustawiony w zshrc i kopiowanie wierszy RVM z mojego bash_profile w celu uzyskania prawa konfiguracja z rvm. Jeżeli uruchomić następujące polecenie w terminalu to powinno działać:

cat ~/.bash_profile >> ~/.zshrc 
+0

jest jakoś nie tak, .zshrc nie powinno być używane do pozyskiwania rvm, czy na pewno używasz powłoki logowania (-l swithc do zsh)? niektóre terminale, takie jak gnome-terminal lub ekran, nie mają go domyślnie. – mpapis

+0

Nie wiem, dlaczego mój komentarz jest negatywny, ponieważ to było rozwiązanie mojego problemu. Oto brakujący kod, który muszę dodać do zshrc, aby ruby ​​działał poprawnie: [[-s "$ HOME/.rvm/scripts/rvm"]] &&. "$ HOME/.rvm/scripts/rvm" – tomciopp

+0

Dostałem głosowanie w dół, ponieważ .zshrc nie jest odpowiednim miejscem na źródło rvm, powinieneś przeczytać ten https://rvm.beginrescueend.com/support/faq/#shell_login - został napisany dla basha, ale te same zasady odnoszą się do zsh, więc umieść źródła w '~/.zprofile' lub' ~/.zlogin' – mpapis

7

nie można umieścić

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session. 

do swojej .zshrc?

Zakładam, że RVM-instalator instaluje go tylko do .bashrc

+0

To jest to, co istnieje na dole mojego pliku .zshrc: export PATH =/Users/thomascioppettini/.rvm/gems/ruby- 1.9.3-p0/bin: /Users/thomascioppettini/.rvm/gems/[email protected]/bin: /Users/thomascioppettini/.rvm/rubies/ruby-1.9.3-p0/bin: /Users/thomascioppettini/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/loc al/bin:/usr/local/git/bin:/usr/X11/bin ŚCIEŻKA = $ ŚCIEŻKA: $ HOME/.rvm/bin # Dodaj RVM do ŚCIEŻKI dla skryptów – tomciopp

+0

Kiedy dodałem linie, które zasugerowałeś, nadal wpadł na ten sam numer – tomciopp

+0

Wygląda na to, że dodałeś tylko rvm do swojej PATH. – fenton

11

Co mam zrobić, aby pracować wiązki zsh i RVM, że jest kilka filmów nadwozia:

1) dodać do .zshrc najpierw linia do skorygowania znaleźć bin direcrory (Twój CO):

PATH = $ PATH: $ HOME/.rvm/bin # RVM Dodaj do PATH w skryptach

2) dodać kolejną linię po uprzednim na e:

[[-s "$ HOME/.rvm/scripts/RVM"]] & &. "$ HOME/.rvm/scripts/RVM"

3) i na ścieżkę zmian Koniec:

export PATH = $ PATH:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin:/sbin:/bin:/usr/gry

Dla mnie jest to praca w porządku (teraz to prawidłowe określenie $ PATH ze wszystkimi gemsets RVM)

0

Jeśli używasz rbenv, skopiuj tę linię z bash.rc których można uzyskać dostęp przez sudo gedit ~/.bashrc

export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" export PATH="$HOME/.rbenv/bin:$PATH" wpisać kod tutaj eval "$(rbenv init -)"

następnie wkleić go do zshrc, które mogą być dostępne przez sudo gedit ~/.zshrc