Gibt es einen bestimmten Grund, warum Sie ein Downgrade durchführen müssen (möglicherweise aufgrund des Verhaltens beim Einfügen von Edelsteinen in ~ / .gems, wenn Sie sudo vergessen)?
Vielen Dank! Das hat bei mir funktioniert. Haben Sie ein altes Rails 2.2.2-Projekt, das sich ohne dies beschwert hat. Ich weiß immer noch nicht warum (wenn jemand Details dazu hat, wäre ich neugierig), aber zumindest funktioniert es jetzt.
Brian Armstrong
1
@BrianArmstrong Es gibt auch einen Fehler in 2.3.x, der bereits im Rails- 2-3-stableZweig behoben ist (siehe Link ). Möglicherweise wird dieses Update in der nächsten Version von 2.2.x verfügbar sein.
Pseidemann
Dies scheint der zuverlässigste Weg zu sein.
Marnen Laibow-Koser
tut dies jedoch nur für ein bestimmtes Gemset? oder müsste ich zwischen rubygems hin und her gehen, wenn ich zwischen der entwicklung von schienen 2 und schienen 3 wechseln möchte?
Aarona
@DJTripleThreat siehe stackoverflow.com/a/7700388/616310 für rvm. Wenn Sie es verwenden rbenv, sollte es ausreichen, um die Ruby-Installation zu kopieren. wenn Sie nicht verwenden rbenvoder rvmals würde ich vorschlagen , die Sie verwenden , rbenvda sonst müssen Sie hin und her mit dem System Rubin gehen
pseidemann
25
Wenn Sie RVM verwenden, können Sie dies tun, um aktuelle Ruby-Edelsteine zu entfernen, und dann Rubygems aktualisieren / downgraden:
Ich habe dies nur gegoogelt, um zu versuchen, eine Menge von Abwertungswarnungen loszuwerden, die durch die jüngsten Rubygems-Updates verursacht wurden. Das hat mir viel Ärger erspart, danke :)
Max Williams
15
Dies hat unter OSX nur funktioniert, um von 1.5.0 auf 1.4.2 zurückzukehren
Ich hatte ein ähnliches Problem in einem alten Rails 3-Stack. Wenn diese Art von Problemen auftritt, empfehle ich, auf den Produktionsserver zu gehen, auf dem die Anwendung gerade ausgeführt wird, und zu überprüfen, welche Rubygems-Version sie verwendet:
gem -v
Für mich wurde 1.8.24 verwendet. Alles, was ich tun musste, war ein Downgrade meiner aktuellen Rubygems, die aus "rvm install 1.9.3" generiert wurden, als ich den alten Ruby für diese App installierte. Ich habe den folgenden Befehl ausgeführt:
$ rvm install rubygems 1.8.24--force
Und es hat funktioniert. Hinweis Ich verwende Ubuntu 14.04 und der Server, den ich verwende, ist auch Ubuntu.
Antworten:
Aktualisiert im November 2011: Jetzt, da RVM nicht mehr verfügbar ist, versuchen Sie es
rvm install rubygems <version>
.quelle
sudo gem update --system 1.4.2
oderrvm install rubygems 1.4.2
Dies funktionierte bei mir beim Downgrade von 1.5.2 auf 1.4.2 aufgrund der alten Rails-Version:
Weitere Informationen zum Herabstufen / Aktualisieren von Rubygems: https://github.com/rubygems/rubygems/blob/master/UPGRADING.md
quelle
2-3-stable
Zweig behoben ist (siehe Link ). Möglicherweise wird dieses Update in der nächsten Version von 2.2.x verfügbar sein.rvm
. Wenn Sie es verwendenrbenv
, sollte es ausreichen, um die Ruby-Installation zu kopieren. wenn Sie nicht verwendenrbenv
oderrvm
als würde ich vorschlagen , die Sie verwenden ,rbenv
da sonst müssen Sie hin und her mit dem System Rubin gehenWenn Sie RVM verwenden, können Sie dies tun, um aktuelle Ruby-Edelsteine zu entfernen, und dann Rubygems aktualisieren / downgraden:
quelle
Dies hat unter OSX nur funktioniert, um von 1.5.0 auf 1.4.2 zurückzukehren
quelle
Ich hatte ein ähnliches Problem in einem alten Rails 3-Stack. Wenn diese Art von Problemen auftritt, empfehle ich, auf den Produktionsserver zu gehen, auf dem die Anwendung gerade ausgeführt wird, und zu überprüfen, welche Rubygems-Version sie verwendet:
Für mich wurde 1.8.24 verwendet. Alles, was ich tun musste, war ein Downgrade meiner aktuellen Rubygems, die aus "rvm install 1.9.3" generiert wurden, als ich den alten Ruby für diese App installierte. Ich habe den folgenden Befehl ausgeführt:
Und es hat funktioniert. Hinweis Ich verwende Ubuntu 14.04 und der Server, den ich verwende, ist auch Ubuntu.
quelle
Ich habe diesen Befehl verwendet, um zu der Edelsteinversion zurückzukehren, die meine Ruby-Version benötigte:
Wenn es Prüfsummenfehler gibt, versuchen Sie es
Das hat den Trick für mich getan.
quelle