Antworten:
Aktualisieren Sie zunächst Ihre RVM-Installation, indem Sie ausführen rvm get stable
.
Um sicherzustellen, dass Sie die neue RVM-Version ausführen, müssen Sie sie ausführen rvm reload
(oder einfach ein neues Terminal öffnen).
Sobald dies erledigt ist, können Sie RVM bitten, die Ruby-Versionen aufzulisten, die durch Ausführen installiert werden können rvm list known
.
In der Ausgabe sollten Sie nun sehen:
# MRI Rubies
...
[ruby-]1.9.2[-p320]
...
Die eckigen Klammern um die Patch-Ebene zeigen an, dass dies derzeit die Standard-Patch-Ebene von RVM für Ruby 1.9.2 ist.
Um die neue Ruby-Version zu installieren, führen Sie sie einfach aus rvm install 1.9.2
- und warten Sie, bis sie kompiliert ist!
Aktualisieren Sie den Ruby-Interpreter und behalten Sie vorhandene Edelsteine bei:
$ rvm upgrade 1.9.2-p0 1.9.2
Are you sure you wish to upgrade from ruby-1.9.2-p0 to ruby-1.9.2-p136? (Y/n): Y
Zum Ersetzen durch die neueste stabile Version von 1.9.2. Dies vermeidet Unordnung.
Einige zusätzliche hilfreiche Tipps dank Kommentaren (@Mauro, @James, @ACB)
$ rvm list known
# NOTE: you probably want to upgrade your rvm first, as the list of known rubies seems to be coupled to the rvm version.
$ rvm get stable
$ rvm list known #pick your ruby
rvm list known
die verfügbaren Ruby-Versionen anzeigen, auf die Sie aktualisieren können.
Erstes Update RVM:
rvm get stable
Aktualisieren Sie dann Ihre Ruby-Version:
rvm upgrade 2.0.0
Wählen Sie für alle Fragen Ja:
Are you sure you wish to upgrade from ruby-2.0.0-p195 to ruby-2.0.0-p247? (Y/n): Y
Are you sure you wish to MOVE gems from ruby-2.0.0-p195 to ruby-2.0.0-p247?
This will overwrite existing gems in ruby-2.0.0-p247 and remove them from ruby-2.0.0-p195 (Y/n): Y
Do you wish to move over aliases? (Y/n): Y
Do you wish to move over wrappers? (Y/n): Y
Do you also wish to completely remove ruby-2.0.0-p195 (inc. archive)? (Y/n): Y
Wenn Sie Ihre Edelsteine auf die neuesten Versionen aktualisieren möchten, haben Sie folgende Möglichkeiten:
rvm all do gem update
BEARBEITEN: Ich habe dies heute für die neueste Version von Ruby 2.0.0 getan (ich habe von Ruby-2.0.0-p195 auf Ruby-2.0.0-p353 aktualisiert). Danach bekam ich einen Segmentierungsfehler, als ich versuchte, Edelsteine zu aktualisieren. Dies geschieht, weil die Edelsteine für Ruby-2.0.0-p195 installiert wurden und einige von ihnen nicht mit p353 kompatibel sind.
Jetzt können Sie versuchen, die nicht kompatiblen Edelsteine zu finden. Die einfachste Lösung bestand jedoch darin, alle installierten Edelsteine zu entfernen und erneut zu installieren. Ich habe einfach das gems/ruby-2.0.0-p353
Verzeichnis entfernt , in dem sich das Verzeichnis befand /usr/local/rvm
. Es könnte woanders für dich sein.
Dann lief ich gem install bundler
und für jede meiner Rails-Apps tat ich bundle install
.
so was:
rvm update; rvm reload
rvm install ruby-1.9.2-p136
rvm --default ruby-1.9.2-p136
Sie können jedes Patch-Level installieren, indem Sie der Seite in ihrem Wiki folgen .
Außerdem ist jeder Rubin unabhängig, sodass Sie die Edelsteine nicht wirklich aktualisieren und behalten, sondern eine neue Patch-Version installieren und die Edelsteine dann in dieser neuen Rubin-Umgebung installieren.
Dies kann sein, wenn Edelsteine ins Spiel kommen, aber ich benutze sie nicht.
Vergessen Sie nicht, auch Ihr RVM zu aktualisieren, nur für den Fall, dass es eine Weile her ist.
Die Antwort von npad enthält definitiv die Grundlagen, sodass ich diese Schritte nicht wiederholen werde, aber es gibt hier mehrere Antworten, die die Verwendung vorschlagen rvm upgrade
. Ich weiß, dass rvm Ihnen die Option gibt, aber es ist ein bisschen gefährlich.
IMO, der sicherere und "rvm-Weg" besteht darin, zuerst rvm install
die neue Ruby-Version zu verwenden und dann mit dem rvm gemset copy
Befehl Ihre Gemset (s) in die neue Ruby-Version zu kopieren, z rvm gemset copy 1.9.2-p0@some-gemset 1.9.2-p290@some-gemset
. Dann können Sie Ihr Projekt ganz einfach auf das neu kopierte Gemset umstellen (ich empfehle die Verwendung einer .rvmrc
Datei in Ihrem Projektverzeichnis) und prüfen, ob Ihr Code fehlschlägt. Wenn dies der Fall ist, müssen Sie nur das Gemset wechseln, um zur alten Ruby-Version zurückzukehren.
Aber selbst wenn Sie keine Edelsteine verwenden (obwohl ich davon ausgehe, dass Sie dies tun, da Sie Schienen in dieser Frage markiert haben), kann die Verwendung von rvm upgrade
zu unerwarteten Fehlern führen. Und wenn Ihr Code kaputt geht, müssen Sie jetzt die alte Version erneut installieren. Nehmen Sie sich einfach etwas mehr Zeit und machen Sie es sauber.
Ich denke es ist rvm install 1.9.2-head
Sie können verfügbare Rubine mit sehen rvm list known
head
das neueste Patch-Level bekommen? Ich dachte, es wäre für die neueste Version, was bedeutet, dass es etwas Instabiles und Experimentelles sein könnte.
Dieser Blog-Beitrag sollte hilfreich sein: http://pogodan.com/blog/2011/09/06/ruby-1-9-3-for-development
Wesentliches:
rvm get head
rvm reload
wget https://gist.github.com/raw/1008945/4edd1e1dcc1f0db52d4816843a9d1e6b60661122/ruby-1.9.2p290.patch
rvm install ruby-1.9.2-p290 --patch ruby-1.9.2p290.patch -n patched
rvm get latest
/rvm get head
sind die richtigen Möglichkeiten, um rvm jetzt zu aktualisieren.