Chciałbym wypróbować powłokę ZSH na moim Macu, ale dużo pracuję nad Ruby i Railsami, więc często używam RVM. Problem polega na tym, że nie mogę zmusić RVM do pracy w ZSH i działa dobrze w domyślnej powłoce Bash:
> zsh
> rvm 1.9.2
> ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
> which ruby
/usr/bin/ruby
Mogę zdecydowanie potwierdzić, że RVM jest zainstalowany, podobnie jak Ruby 1.9.2 pod RVM; Używam go cały czas w Bash. Prowadzenie rvm list
w ZSH pokazuje to, co ciekawe:
rvm rubies
ruby-1.8.7-p302 [ x86_64 ]
=> ruby-1.9.2-p0 [ x86_64 ]
Dzieje się tak na moim iMacu i MacBooku Pro. Używam OS X 10.6.6 na obu, ZSH 4.3.9 na iMacu (4.3.10 na laptopie). Nie ma jeszcze nic wyszukanego jak oh-my-zsh.
Próbowałem przejrzeć dokumentację na stronie RVM , ale nic mi tam nie pomogło.
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
rozgryźć , ponieważ wiersz jest w moim .zlogin, ale przypuszczam, że nie używał go podczas otwierania nowych okien terminala na moim Macu (10.7.3, o mój zsh). Dodanie go do .zshrc też działało, ale według tego komentarza stackoverflow , .zshrc jest niewłaściwym miejscem do umieszczenia tego?Uwaga marzec 2014:
Z najnowszym RVM, następująca linia:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
nie jest już potrzebne i nie powinno być w twoim
~/.zshrc
.Dokumentacja została zaktualizowana w dokumentacji RVM z Zsh :
źródło
Uwaga listopad 2014
Instrukcje instalacji rvm ostrzegają, że .zshrc nie zawiera zmiennej $ PATH podczas ustawiania PATH, tym samym zastępując zawartość PATH bez względu na to, co już istnieje w PATH.
Aby temu zaradzić, dodaję teraz PATH, aby mieć,
.rvm/bin
a następnie dodaję$PATH
na początku ustawieniaPATH
w drugiej linii:export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting export PATH=$PATH:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/local/mysql/bin:/opt/local/bin"
źródło
Miałem ten sam problem, rozwiązałem używając tego po instalacji "ruby on rails":
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.zshrc
i
source ~/.zshrc
źródło
Używam zsh i miałem [[-s "$ HOME / .rvm / scripts / rvm"]] &&. „$ HOME / .rvm / scripts / rvm” w moim pliku .zshrc, ale otrzymywał błąd analizy: 404.
Kiedy przeniosłem tę linię do pliku .profile, błąd ustał. Wygląda na to, że było to w konflikcie z czymś w moim pliku .zshrc i być może uruchomienie go w pliku .profile pozwoliło uniknąć niezgodności pliku .zshrc. Nie mogłem
źródło