➜~ rvm list
rvm rubies
ruby-1.9.2-p290 [ x86_64 ]
ruby-1.9.3-p0 [ x86_64 ]➜~ rvm use ruby-1.9.3-p0
RVM is not a function, selecting rubies with 'rvm use ...' will not work.
czy na pewno poprawnie zainstalowałeś rvm? jakiego systemu operacyjnego używasz?
Lesce
2
Dołącz wyniki rvm infodo swojego pytania.
Tin Man
Miałem podobny problem instalując rvm z apt-get na Ubuntu 11.10, musiałem go usunąć i ponownie zainstalować z$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
lesce
4
Czy masz funkcję ładowania RVM w skrypcie startowym powłoki? [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"to kod do użycia. Jeśli masz zainstalowany RVM w swojej ścieżce, ale nie masz tego w swoim skrypcie startowym, możesz otrzymać RVM is not a functionbłąd.
miałem tę samą linię ([[-s "$ HOME / ...) w moim ~ / .bash_profile i to nie wydawało się" brać ", kiedy otworzyłem nowy terminal ... ale kiedy dodałem linię pod linią PATH w ~ / .bashrc, zadziałało - co oznacza, że mogłem wpisać rvm używając 1.9.3 i natychmiast rozpoznałoby rvm jako polecenie bez konieczności wpisywania najpierw source ~ / .bash_profile - i ' Nie jestem osobą korzystającą z Linuksa, więc to mnie zdezorientowało, ale cieszę się, że to działa. Może ktoś może wyjaśnić moje zamieszanie.
TimDog,
to świetnie, po prostu umieściłem tę linię w ~ / .bashrc, działa. ale ja też nie wiem dlaczego.
Jack Ma
Tak, to działa. Ale za każdym razem, gdy ponownie uruchamiam komputer, muszę wydawać powyższe polecenia. Jeśli nie podam poleceń, oznacza to, że rvm nie jest funkcją.
Apurva Mayank
11
Twoja powłoka nie wie o funkcji RVM. Po zainstalowaniu informuje, jak się tym zająć. Lub przejdź do strony instalacji w witrynie RVM i przejrzyj sekcję zatytułowaną „2. Załaduj RVM do sesji powłoki jako funkcję”
Uruchom to raz, aby dodać wiersz, który ładuje rvm do twojego ~ / .bash_profile:
lub dodaj go ręcznie. (Zauważ, że w niektórych systemach będziesz chciał umieścić go w innych miejscach, na przykład w moim systemie Mac OSX Lion, umieściłem go w ~ / .profile)
Następnie należy ponownie załadować bieżącą powłokę lub otworzyć nową sesję terminala i wpisać następujące polecenie, aby ponownie załadować .bash_profile:
Powyższe rozwiązanie będzie działać tylko wtedy, gdy RVM jest zainstalowany dla bieżącego użytkownika. Bardziej ogólne rozwiązanie wykorzystałoby zmienną ścieżki RVM:
# The following code loads RVM as user or system install:[[-s "$rvm_path/scripts/rvm"]]&&."$rvm_path/scripts/rvm"
Podczas czystej instalacji Ubuntu 12.04 napotkałem ten sam problem. Instalator RVM tworzy lub dołącza do pliku o nazwie ~ / .bash_login niezbędny fragment kodu, aby uniknąć pierwotnego problemu:
[[-s "$HOME/.rvm/scripts/rvm"]]&& source "$HOME/.rvm/scripts/rvm"# Load RVM into a shell session *as a function*
Jednak nie wydaje się, aby było to wywoływane. Dodanie go do ~ / .bashrc rozwiązało problem.
Nie używaj nieautoryzowanych źródeł do instalowania RVM. Strona instalacji RVM mówi konkretnie: „Zwróć uwagę, że żadne zewnętrzne samouczki NIE są obsługiwane, niezależnie od tego, czy działają, czy nie. Samouczki są świetne, jednak spędziliśmy mnóstwo godzin roboczych na debugowaniu procesu instalacji. Skorzystaj z procesu (-ów) instalacji z tylko w tej witrynie, ponieważ są to jedyne obsługiwane typy i metody instalacji ”.
Tin Man
1
W moim przypadku na Ubuntu wpis w ~ / .bashrc miał:
[[-s "$HOME/.rvm/scripts/rvm"]]&&."$HOME/.rvm/scripts/rvm"# BAD
zamiast:
[[-s "$HOME/.rvm/scripts/rvm"]]&&."$HOME/.rvm/scripts/rvm"# WORKING
Zwróć uwagę na brakującą spację między. i „$ HOME.
Ponadto, jeśli jest to problem, powinieneś również zauważyć błąd u góry podczas uruchamiania terminala.
Miałem globalną instalację RVM, która uruchamia /etc/profile.d/rvm.sh. Jednak ten skrypt wymaga ustawienia BASH_VERSION lub ZSH_VERSION. Uciekałem z crontab, który używa "sh".
Stworzyłem skrypt opakowujący, który używa / bin / bash do źródła /etc/profile.d/rvm.sh.
rvm info
do swojego pytania.$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
to kod do użycia. Jeśli masz zainstalowany RVM w swojej ścieżce, ale nie masz tego w swoim skrypcie startowym, możesz otrzymaćRVM is not a function
błąd.Odpowiedzi:
Naprawione. Musiałem dodać:
do
.zshrc
źródło
Mnie też się to przydarzyło. Miałem:
Dodano w moim .bashrc.
Wszystko, co musiałem zrobić, to dodać kolejny
do tego samego pliku i zadziałało! Oczywiście po tym musisz ponownie uruchomić terminal.
źródło
Twoja powłoka nie wie o funkcji RVM. Po zainstalowaniu informuje, jak się tym zająć. Lub przejdź do strony instalacji w witrynie RVM i przejrzyj sekcję zatytułowaną „2. Załaduj RVM do sesji powłoki jako funkcję”
Uruchom to raz, aby dodać wiersz, który ładuje rvm do twojego ~ / .bash_profile:
lub dodaj go ręcznie. (Zauważ, że w niektórych systemach będziesz chciał umieścić go w innych miejscach, na przykład w moim systemie Mac OSX Lion, umieściłem go w ~ / .profile)
źródło
(Kubuntu 11.10)
~/.bash_profile
Teraz nazywa się~/.profile
źródło
Aby zmienić domyślną wersję ruby:
W Ubuntu 11.10
zmień ustawienia terminala GNOME:
Przejdź do terminala, a następnie postępuj zgodnie z poniższymi instrukcjami:
Uruchom to polecenie na terminalu:
źródło
Aby dodać wszystkie funkcje RVM do swojego .bash_profile, użyj następującego polecenia:
Następnie należy ponownie załadować bieżącą powłokę lub otworzyć nową sesję terminala i wpisać następujące polecenie, aby ponownie załadować .bash_profile:
źródło
Powyższe rozwiązanie będzie działać tylko wtedy, gdy RVM jest zainstalowany dla bieżącego użytkownika. Bardziej ogólne rozwiązanie wykorzystałoby zmienną ścieżki RVM:
źródło
rvm_path=/home/myuser/.rvm . /home/myuser/.rvm/scripts/rvm
Musiałem tylko przywołać źródło
~/.bash_profile
źródło
Podczas czystej instalacji Ubuntu 12.04 napotkałem ten sam problem. Instalator RVM tworzy lub dołącza do pliku o nazwie ~ / .bash_login niezbędny fragment kodu, aby uniknąć pierwotnego problemu:
Jednak nie wydaje się, aby było to wywoływane. Dodanie go do ~ / .bashrc rozwiązało problem.
źródło
Instalowanie RVM, patrz tutaj http://octopress.org/docs/setup/rvm/
źródło
W moim przypadku na Ubuntu wpis w ~ / .bashrc miał:
zamiast:
Zwróć uwagę na brakującą spację między. i „$ HOME.
Ponadto, jeśli jest to problem, powinieneś również zauważyć błąd u góry podczas uruchamiania terminala.
źródło
Miałem globalną instalację RVM, która uruchamia /etc/profile.d/rvm.sh. Jednak ten skrypt wymaga ustawienia BASH_VERSION lub ZSH_VERSION. Uciekałem z crontab, który używa "sh".
Stworzyłem skrypt opakowujący, który używa / bin / bash do źródła /etc/profile.d/rvm.sh.
źródło
źródło