wake-up-neo.net

RVM installiert von Ruby nicht funktioniert?

Ich habe RVM mit der auf der RVM-Website genannten Einzelanweisung installiert (mit git).

Dann habe ich Ruby Version 1.9.2 und 1.8.7 installiert mit:

rvm install 1.9.2
rvm install 1.8.7

Ich kann die Ruby-Binärdatei jedoch nicht finden. Wenn ich versuche, den Befehl auszuführen, erhalte ich die folgende Fehlermeldung:

[[email protected] support]# rvm use 1.9.2
Using /usr/local/rvm/gems/Ruby-1.9.2-p136

[[email protected] support]# Ruby
-bash: Ruby: command not found

Hier ist die Ausgabe von rvm info:

[[email protected] support]# rvm info

system:

  system:
    uname:       "Linux server1.myserver.com 2.6.18-194.26.1.el5.028stab070.14 #1 SMP Thu Nov 18 16:34:01 MSK 2010 x86_64 x86_64 x86_64 GNU/Linux"
    bash:        "/bin/bash => GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)"
    zsh:         " => not installed"

  rvm:
    version:      "rvm 1.2.6 by Wayne E. Seguin ([email protected]) [http://rvm.beginrescueend.com/]"

  homes:
    gem:          "not set"
    Ruby:         "not set"

  binaries:
    Ruby:         ""
    irb:          ""
    gem:          ""
    rake:         ""

  environment:
    PATH:         "/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/rvm/bin"
    GEM_HOME:     ""
    GEM_PATH:     ""
    MY_Ruby_HOME: ""
    IRBRC:        ""
    RUBYOPT:      ""
    gemset:       ""


[[email protected] support]#
33
Yash Desai

RVM erfordert einen geringfügigen Zusatz zu Ihrem ~/.bashrc oder ~/.bash_profile, um es bei der Anmeldung zu initialisieren. Sie ist in den Installationsdokumenten im Abschnitt Post Install angegeben. Hast du das gemacht?


Bei Ihrer rvm info-Ausgabe sieht es so aus, als hätten Sie Ihre Installation nicht abgeschlossen. Alle Einträge in der Ausgabe sollten entsprechende Werte haben. Ich vermute, Sie haben nicht hinzugefügt:

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

zu Ihrem ~/.bashrc oder ~/.bash_profile und startete dann eine neue Sitzung. 

Wenn Sie eine "Multi-User" -Installation durchführen, müssen Sie noch viel mehr tun. Haben Sie /etc/profile geändert, oder wenn Sie Bash als Shell verwenden, haben Sie /etc/bash.bashrc so geändert, dass sie Folgendes enthält:

 # RVM laden, falls installiert, 
 # Zuerst versuchen, Benutzerinstallation zu laden 
 # Und dann versuchen, root install zu laden, wenn Benutzerinstallation nicht vorhanden ist .
 If [-s "$ HOME/.rvm/scripts/rvm "]; dann
 . "$ HOME/.rvm/scripts/rvm" 
 Elif [-s "/ usr/local/rvm/scripts/rvm"]; dann
 . "/usr/local/rvm/scripts/rvm"
fi

und eine neue Schale gestartet?

Ich persönlich mag die Mehrbenutzerinstallation nicht so sehr wie die Einzelbenutzerinstallation und empfehle sie nicht, aber Ihre Laufleistung kann variieren.


Als FYI: In einem Gespräch mit den RVM-Betreuern auf IRC im letzten Jahr sagten sie mir, dass sie die systemweite Installation nicht empfehlen, sondern die lokale "Einzelbenutzer" -Installation, auch für Server.

57
the Tin Man

Ich habe Ruby on Rails auf einer Ubuntu 11.10-VM installiert und dabei " HOW zum Installieren von Ruby on Rails IN UBUNTU 11.10 " verwendet.

Nach der Installation stieß ich auf das gleiche Problem. Das einzige, was meiner Meinung nach im Tutorial fehlt, ist der folgende Befehl:

rvm --default use 1.9.2

Obwohl Ruby ordnungsgemäß installiert ist, scheint RVM in jeder Sitzung neu zu definieren, in der Ruby verwendet werden soll. Das Problem war, dass der Standard-Ruby auf das "System-Ruby" zeigte, und in meinem Fall zeigte dieser auf nirgendwo und rief den Aufruf rvm info mit einem Ergebnis auf, das dem ursprünglichen Post ähnlich war.

Um dieses Problem zu lösen, muss einer der folgenden Befehle verwendet werden:

rvm  --default use 1.9.x

oder (nur gültig für die aktuelle Sitzung)

rvm use 1.9.x

Bevor ich den Server starten konnte, stieß ich auch auf " ExecJS" und konnte keine JavaScript-Laufzeit finden ". Wie in mehreren Antworten vorgeschlagen, habe ich gelöst, indem Sie die folgenden Zeilen in das Gemfile einfügen.

gem 'execjs'

gem 'therubyracer'

und danach bundle install laufen.

13
Micael Queiroz

Ich hatte ein ähnliches Problem (mit Ubuntu 13.10) Um es zu lösen 

$ source .rvm/scripts/rvm 

und auf lange Sicht 

$ echo "source ~/.rvm/scripts/rvm" >> ~/.bashrc

$ Ruby -v


The program 'Ruby' can be found in the following packages:
 * Ruby1.8
 * Ruby1.9.1
Try: Sudo apt-get install <selected package>

$ source .rvm/scripts/rvm

$ Ruby -v

Ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]
11
Fredy

So beheben Sie unentdeckte Rubies in RVM.

Zuerst habe ich eine Vernunftsprüfung durchgeführt, um sicherzustellen, dass genau das gut aussieht

rvm use Ruby --default

was hat die Arbeit gemacht. Es kommt auf diesen Befehl an: 

-SVE1411EGXB:~/code$ cd app1/
  -SVE1411EGXB:~/code/app1$ Rails s
The program 'Rails' can be found in the following packages:
 * Ruby-railties-3.2
 * Ruby-railties-4.0
Try: Sudo apt-get install <selected package>
  -SVE1411EGXB:~/code/app1$ Rails s
The program 'Rails' can be found in the following packages:
 * Ruby-railties-3.2
 * Ruby-railties-4.0
Try: Sudo apt-get install <selected package>
  -SVE1411EGXB:~/code/app1$ which Ruby
  -SVE1411EGXB:~/code/app1$ which gem
  -SVE1411EGXB:~/code/app1$ rvm list

rvm rubies

=* Ruby-2.1.2 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

  -SVE1411EGXB:~/code/app1$ \curl -sSL https://get.rvm.io | bash -s stable
Downloading https://github.com/wayneeseguin/rvm/archive/stable.tar.gz

Upgrading the RVM installation in /home  /.rvm/
    RVM PATH line found in /home  /.profile /home  /.bashrc /home  /.zshrc.
    RVM sourcing line found in /home  /.bashrc /home  /.bash_profile /home  /.zlogin.
Upgrade of RVM in /home  /.rvm/ is complete.

# nullsoulexception,
#
#   Thank you for using RVM!
#   We sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne, Michal & team.

In case of problems: http://rvm.io/help and https://Twitter.com/rvm_io

Upgrade Notes:

  * No new notes to display.

  -SVE1411EGXB:~/code/app1$ Rails s
The program 'Rails' can be found in the following packages:
 * Ruby-railties-3.2
 * Ruby-railties-4.0
Try: Sudo apt-get install <selected package>
  -SVE1411EGXB:~/code/app1$ source ~/.rvm/scripts/rvm
  -SVE1411EGXB:~/code/app1$ rvm requirements
Checking requirements for ubuntu.
Requirements installation successful.
  -SVE1411EGXB:~/code/app1$ rvm get stable
Downloading https://get.rvm.io
Downloading https://github.com/wayneeseguin/rvm/archive/stable.tar.gz

Upgrading the RVM installation in /home  /.rvm/
    RVM PATH line found in /home  /.profile /home  /.bashrc /home  /.zshrc.
    RVM sourcing line found in /home  /.bashrc /home  /.bash_profile /home  /.zlogin.
Upgrade of RVM in /home  /.rvm/ is complete.

# nullsoulexception,
#
#   Thank you for using RVM!
#   We sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne, Michal & team.

In case of problems: http://rvm.io/help and https://Twitter.com/rvm_io

Upgrade Notes:

  * No new notes to display.

RVM reloaded!
  -SVE1411EGXB:~/code/app1$ rvm reload
RVM reloaded!
  -SVE1411EGXB:~/code/app1$ rvm list known
# MRI Rubies
[Ruby-]1.8.6[-p420]
[Ruby-]1.8.7[-head] # security released on head
[Ruby-]1.9.1[-p431]
[Ruby-]1.9.2[-head] # security released on head
[Ruby-]1.9.3[-p547]
[Ruby-]2.0.0-p451
[Ruby-]2.0.0[-p481]
[Ruby-]2.1.1
[Ruby-]2.1[.2]
[Ruby-]2.1-head
Ruby-head

# GoRuby
goruby

# Topaz
topaz

# TheCodeShop - MRI experimental patches
tcs

# jamesgolick - All around gangster
jamesgolick

# Minimalistic Ruby implementation - ISO 30170:2012
mruby[-head]

# JRuby
jruby-1.6.8
jruby[-1.7.12]
jruby-head

# Rubinius
rbx-2.0.0
rbx-2.1.1
rbx[-2.2.7]
rbx-head

# Ruby Enterprise Edition
ree-1.8.6
ree[-1.8.7][-2012.02]

# Kiji
kiji

# MagLev
maglev[-head]
maglev-1.0.0

# Mac OS X Snow Leopard Or Newer
macruby-0.10
macruby-0.11
macruby[-0.12]
macruby-nightly
macruby-head

# Opal
opal

# IronRuby
ironruby[-1.1.3]
ironruby-head

  -SVE1411EGXB:~/code/app1$ Ruby -v
The program 'Ruby' can be found in the following packages:
 * Ruby
 * Ruby1.8
Try: Sudo apt-get install <selected package>
  -SVE1411EGXB:~/code/app1$ rvm use Ruby --default
Using /home  /.rvm/gems/Ruby-2.1.2
  -SVE1411EGXB:~/code/app1$ Ruby -v
Ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]
  -SVE1411EGXB:~/code/app1$ Rails s
=> Booting WEBrick
=> Rails 4.1.1 application starting in development on http://0.0.0.0:3000
=> Run `Rails server -h` for more startup options
=> Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option)
4
zee

Stellen Sie sicher, dass Sie/usr/local/lib/rvm als Quelle verwenden? echo 'source /usr/local/lib/rvm' >> ~/.bashrc und relog über SSH/eine neue Instanz von Bash starten.


Um dies zu klären, gibt es einige Verwirrung: Es gibt zwei Möglichkeiten, RVM zu installieren: eine Installation pro Benutzer und eine systemweite Installation.

Für die meisten täglichen Anwendungen möchten Sie eine Installation "pro Benutzer" verwenden, mit der RVM in ~/.rvm installiert wird. Systemweite Installationen eignen sich für Server, auf denen ein Satz Rubies verwendet werden sollte. Der Standardspeicherort für RVM ist in diesem Fall /usr/local/rvm.

Aufgrund Ihrer Frage scheint RVM als systemweite Installation installiert zu sein.

Um RVM verwenden zu können, muss es bei jeder Anmeldung durch Ausführen eines Skripts initialisiert werden. Um dies zu tun, schließen Sie die Datei in Ihre ~/.bashrc-Datei (oder ~/.bash_profile, wenn Sie mit OS X arbeiten) ein, damit sie automatisch ausgeführt wird Wenn Sie sich anmelden. Für eine Installation pro Benutzer fügen Sie der Datei den folgenden Text hinzu:

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

verwenden Sie für systemweite Installationen stattdessen diesen Text:

[[ -s "/usr/local/lib/rvm" ]] && . "/usr/local/lib/rvm"

Wenn Sie tatsächlich eine systemweite Installation haben, müssen Sie auch sicherstellen, dass Sie Mitglied der Gruppe rvm sind. Geben Sie dazu Folgendes ein:

Sudo adduser `whoami` rvm

Wenn Sie die erforderlichen Änderungen vorgenommen haben, melden Sie sich von Ihrer Sitzung ab und anschließend wieder an. Wenn Sie dies getan haben, sollte rvm use 1.9.2 eine Reihe von Umgebungsvariablen festlegen, die Sie durch Eingabe von rvm info sehen können. Wenn alles in Ordnung ist, sollte Ruby korrekt ausgeführt werden.

4
Michelle Tilley

Ich war in der gleichen Ausgabe gelaufen. Ich habe gerade den Befehl ausgeführt:

/bin/bash --login
4
Bruno Paulino

Ruby ist dir nicht im Weg. Einfach ausgedrückt, übernimmt RVM das Wechseln von Ruby in Ihrem Pfad. Sehen Sie sich die Ausgabe des Befehlszeilenprogramms an

printenv

Sie sollten etwas ähnliches sehen:

PATH=/Users/myuser/.rvm/gems/jruby-1.5.6/bin

Sehen Sie sich Tin Man's Antwort an, es sollte Ihnen helfen, wenn Sie gehen müssen.

2
Jared Knipp

Ich habe meine Shell als Login-Shell festgelegt (Terminal öffnen> Bearbeiten> Profileinstellungen> Registerkarte "Befehl"> "Befehl als Login-Shell ausführen").

Wenn Sie mit der Installation von RVM + Ruby fertig sind, müssen Sie angeben, welche Ruby Sie verwenden werden. Ich benutze gerne

rvm use --latest --default

0
James L.

Ich habe festgestellt, dass die source-Zeile korrekt in .bash_profile war, aber ich bekam ständig, dass der Ruby-Befehl nicht gefunden wurde. Als ich rvm list überprüfte, stellte ich fest, dass kein Ruby ausgewählt wurde:

rvm list

rvm rubies

   Ruby-2.4.0 [ x86_64 ]

# Default Ruby not set. Try 'rvm alias create default <Ruby>'.

# => - current
# =* - current && default
#  * - default

dann habe ich die Auswahl durchrvm use 2.4.0gemacht und noch einmal geprüft

rvm list

rvm rubies

=> Ruby-2.4.0 [ x86_64 ]

# Default Ruby not set. Try 'rvm alias create default <Ruby>'.

# => - current
# =* - current && default
#  * - default

Schauen Sie sich den Pfeil an, schließen Sie den installierten Ruby und die kommentierten Untertitel. Danach antwortete mir Ruby -v endlich

Ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]

Ich hoffe diese Hilfe. Prost.

edit: Sie könnenrvm --default use 2.4.0verwenden, um es als Ruby-Standardversion festzulegen

0
Shad