2011-01-05 3 views
14

내가 설치 한 Ruby 버전을 Ubuntu 10.04 OS에서 다운 그레이드하여 적절한 버전을 사용할 수있게하고 싶습니다. Ruby 1.8.7에서 Rails 2.0.2를 실행합니다. 이전 프로젝트 버전의 레일즈를 사용하고 있습니다.Rails 2.0.2를 실행하기 위해 Ruby 1.9.2에서 Ruby 1.8.7로 다운 그레이드하는 방법

Ruby 1.9.2에서 Rails 2.0.2를 사용하고 있다면 열거자를 배열로 변환하는 중 오류가 발생합니다.

나는 rvm을 사용할 수 있다고 생각했지만 다운 그레이드에 적합한 지 확실하지 않습니다. 내가 알려진 명령 RVM 목록을 사용할 때

은 내가 터미널에 다음을 얻을 내가 명령 때 dpkg -l을 사용하여 설치된 루비 패키지 목록에 다음을 얻을

[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 

| 그렙 루비

[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 

내가 루비 1.9.2를 제거해야 만 다음 갓 루비 1.8.7 설치하거나 내가 버전을 전환 할 수 있습니까? 버전을 전환 할 수 있다면 Ruby 1.9.2에서 Ruby 1.8.7로 경로를 설정하는 방법을 안내해주십시오. 아니면 다른 방법이 있으면 알려주세요.

Ruby 1.9.2를 제거한 다음 Ruby 1.8.7을 새로 설치하면 어떻게 해결되는지 알려주십시오. Ruby 1.9.2를 제거하기 위해 다음 명령을 시도했지만 Ruby 1.9.2 패키지를 찾지 못했습니다.

sudo aptitude remove ruby 

sudo aptitude remove ruby 1.9.2p0 

sudo purge ruby 

sudo aptitude purge ruby 1.9.2p0 

내가 루비의 현재 버전을 확인

는 보여줍니다 설치 : 당신의 도움에 대한

[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 

감사합니다 .. !! RVM의

답변

39

요점은 루비의 여러 버전을 가지고 쉽게 전환 할 수 있도록입니다 ..

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 Zabba는 매우 도움이되는 사람입니다. – Tass

+3

예, Zabba와 Wayne E. Seguin이 실제로 RVM을 작성했습니다. :) – DemitryT

+0

rvm use는'/ bin/bash --login' 없이는 작동하지 않을 수도 있습니다. – t1gor

7

사용 RVM 자신에게 고통을 주를 저장합니다.

여러 개의 Ruby 버전을 사용할 수 있으며 각 버전에는 고유 한 별도의 보석 세트가 있습니다. 이렇게하면 레일즈 2와 레일즈 3의 젬을 각각 1.8.7과 1.9.2로 동시에 설치할 수 있습니다.

Ruby 버전을 설치하는 것은 rvm install 1.9.2 또는 rvm install 1.8.7과 같이 간단합니다. 두 전환 사이 : rvm 1.9.2 또는 rvm 1.8.7.

rvm --default 1.9.2 또는 rvm --default 1.8.7으로 기본 루비를 설정할 수 있습니다.

RVM이 로컬 Ruby 또는 보석이되지 않습니다. 언제든지 다시 전환 할 수 있습니다 : rvm system.

0

소스 ~/.rvm/스크립트/RVM

RVM 다시로드 (새로 고침 설치 최신 RVM)

RVM 1.8.7

RVM 사용 1.8을 설치합니다.7 - 기본

관련 문제