2011-01-05 6 views
14

Ich möchte die installierte Ruby Version (Ruby 1.9.2) auf Ubuntu 10.04 OS herunterstufen, damit ich die entsprechende Version verwenden kann von Ruby 1.8.7 zum Ausführen von Rails 2.0.2. Ich verwende die ältere Version von Rails für Projektzwecke.Wie Downgrade von Ruby 1.9.2 auf Ruby 1.8.7 um Rails 2.0.2 auszuführen

Wenn ich Rails 2.0.2 mit Ruby 1.9.2 verwende, gibt es mir einen Fehler, der sagt, kann nicht Enumerator in ein Array konvertieren.

Ich dachte, ich könnte rvm verwenden, aber ich bin mir nicht sicher, ob es für Downgrade geeignet ist.

ich die folgende in das Terminal, wenn ich den Befehl rvm Liste verwenden bekannt

[email protected]:~$ rvm list known 
# MRI Rubies 
[ruby-]1.8.6[-p399] 
[ruby-]1.8.6-head 
[ruby-]1.8.7[-p302] 
[ruby-]1.8.7-head 
[ruby-]1.9.1-p243 
[ruby-]1.9.1[-p376] 
[ruby-]1.9.1-p429 
[ruby-]1.9.1-head 
[ruby-]1.9.2-preview1 
[ruby-]1.9.2-preview3 
[ruby-]1.9.2-rc1 
[ruby-]1.9.2-rc2 
[ruby-]1.9.2[-p0] 
[ruby-]1.9.2-head 
ruby-head 

# JRuby 
jruby-1.2.0 
jruby-1.3.1 
jruby-1.4.0 
jruby-1.5.1 
jruby-1.5.2 
/home/mohnish/.rvm/config/known 

ich folgendes in der Liste der installierten Ruby-Pakete erhalten auf mit dem Befehl dpkg -l | grep Rubin

[email protected]:~$ dpkg -l | grep ruby 
ii libdbm-ruby        4.2            DBM interface for Ruby 
ii libdbm-ruby1.8        1.8.7.249-2          DBM interface for Ruby 1.8 
ii libgdbm-ruby        4.2            GDBM interface for Ruby 
ii libgdbm-ruby1.8       1.8.7.249-2          GDBM interface for Ruby 1.8 
ii libopenssl-ruby       4.2            OpenSSL interface for Ruby 
ii libopenssl-ruby1.8       1.8.7.249-2          OpenSSL interface for Ruby 1.8 
ii libreadline-ruby       4.2            Readline interface for Ruby 
ii libreadline-ruby1.8      1.8.7.249-2          Readline interface for Ruby 1.8 
ii libruby1.8         1.8.7.249-2          Libraries necessary to run Ruby 1.8 
ii libtcltk-ruby        4.2            Tcl/Tk interface for Ruby 
ii libtcltk-ruby1.8       1.8.7.249-2          Tcl/Tk interface for Ruby 1.8 
ii rdoc          4.2            Generate documentation from ruby source file 
ii ruby          4.2            An interpreter of object-oriented scripting 
ii ruby-elisp         4.2            Emacs-lisp ruby-mode for Ruby 
ii ruby-full         4.2            Ruby full installation 
ii ruby1.8         1.8.7.249-2          Interpreter of object-oriented scripting lan 
ii ruby1.8-dev        1.8.7.249-2          Header files for compiling extension modules 
ii ruby1.8-elisp        1.8.7.249-2          ruby-mode for Emacsen 
[email protected]:~$ ^C 

Muss ich deinstallieren Ruby-1.9.2 und nur dann frisch installieren Ruby-1.8.7 oder kann ich Versionen wechseln ?. Wenn ich die Versionen wechseln kann, bitte ich Sie, wie ich den Pfad von Ruby 1.9.2 zu Ruby 1.8.7 einstellen kann. Oder wenn es eine andere Möglichkeit gibt, lass es mich wissen.

Wenn ich Ruby 1.9.2 deinstallieren und dann Ruby 1.8.7 neu installieren muss, lassen Sie es mich wissen, wie kann ich darüber gehen. Ich habe die folgenden Befehle versucht, um Ruby 1.9.2 zu deinstallieren, aber es schien nicht das Ruby 1.9.2 Paket zu finden.

sudo aptitude remove ruby 

sudo aptitude remove ruby 1.9.2p0 

sudo purge ruby 

sudo aptitude purge ruby 1.9.2p0 

Als ich für die aktuelle Version von Ruby geprüft installiert es zeigt:

[email protected]:~/Downloads/rubygems_postextract/rubygems-1.4.1$ ruby -v 
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux] 

[email protected]:~/Downloads/rubygems_postextract/rubygems-1.4.1$ which ruby 
/home/mgj/.rvm/rubies/ruby-1.9.2-p0/bin/ruby 

Danke für Ihre Hilfe .. !!

Antwort

39

ganze Sinn der RVM ist, so dass Sie leicht unter ihnen mehrere Versionen von Ruby und Schalter haben können ..

rvm install 1.8.7 #or some specific version - choose from the rvm list known 
rvm use 1.8.7 
rvm gemset create rails202 #create a gemset called "rails202" for Ruby 1.8.7 
rvm [email protected] #make the gemset the current selection 
gem install rails -v 2.0.2 #install rails (just for this gemset!) 
#now, we have a gemset called "rails202" in Ruby 1.8.7. 
#anytime we want to use it, we do: 
rvm [email protected] 
#create as many gemsets needed, eg for rails 3.0.3 on Ruby 1.8.7 we can do the 
#similar as above. Then to use the new gemset just do: 
rvm [email protected] 
#et voila! we are now using Rails 3.0.3 on Ruby 1.8.7 ! 
+2

+1 für Zabba, eine sehr hilfreiche Person. – Tass

+3

Ja, Zabba und Wayne E. Seguin, der RVM geschrieben hat .. :) – DemitryT

+0

rvm Verwendung funktioniert möglicherweise nicht ohne '/ bin/bash --login' – t1gor

7

Verwenden RVM und selbst Wochen Schmerzen sparen.

Sie können mehrere Ruby-Versionen verwenden und jede Version verfügt über einen eigenen Satz an Edelsteinen. Auf diese Weise können Sie 1.8.7 und 1.9.2 gleichzeitig mit Rails 2 und Rails 3 Gems auf dem ersteren und dem letzteren installieren.

Die Installation einer Ruby-Version ist so einfach wie die Eingabe rvm install 1.9.2 oder rvm install 1.8.7. Um zwischen den beiden zu wechseln: rvm 1.9.2 oder rvm 1.8.7.

Sie können den Standard-Ruby mit rvm --default 1.9.2 oder rvm --default 1.8.7 festlegen.

RVM berührt nicht Ihren lokalen Ruby oder seine Edelsteine. Sie können jederzeit darauf zurückschalten: rvm system.

0

source ~/.rvm/scripts/rvm

rvm neu laden (neu laden die neueste rvm installiert)

rvm installieren 1.8.7

rvm Verwendung 1.8.7 - standardmäßig

Verwandte Themen