2011-01-05 1 views
14

Я хочу понизить версию Ruby, которую я установил (Ruby 1.9.2) на Ubuntu 10.04, чтобы я мог использовать соответствующую версию от Ruby 1.8.7 для запуска Rails 2.0.2. Я использую более старую версию Rails для целей проекта.Как перейти от Ruby 1.9.2 к Ruby 1.8.7 для запуска Rails 2.0.2

Если я использую Rails 2.0.2 с Ruby 1.9.2, это дает мне ошибку, говоря, что cant конвертирует Enumerator в массив.

Я думал, что могу использовать rvm, но я не уверен, подходит ли он для понижения.

я получаю следующее в терминале, когда я использую команду список РВМ известного

[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 

я получаю следующее в списке установленных пакетов рубина на использование команды Dpkg -l | Grep рубин

[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, или я могу переключить версии Do ?. Если я могу переключать версии, пожалуйста, назовите меня, как установить путь от 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 

Когда я проверил для текущей версии Ruby, установлена ​​она показывает:

[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 

Спасибо за вашу помощь .. !!

ответ

39

Весь смысл РВМ так что вы можете иметь несколько версий Ruby, и переключаться между ними легко ..

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

Да, Забба и Уэйн Э. Сегин, которые на самом деле писали RVM .. :) – DemitryT

+0

Использование rvm может не работать без '/ bin/bash --login' – t1gor

7

Использование РВМ и сэкономить недель боли.

Вы можете использовать несколько версий Ruby, и каждая версия имеет свой собственный набор драгоценных камней. Таким образом, вы можете установить 1.8.7 и 1.9.2 одновременно с Rails 2 и Rails 3 камней на первом и последнем соответственно.

Установка версии Ruby так же проста, как набирать rvm install 1.9.2 или rvm install 1.8.7. Для переключения между двумя: rvm 1.9.2 или rvm 1.8.7.

Вы можете установить по умолчанию Ruby с rvm --default 1.9.2 или rvm --default 1.8.7.

RVM не будет касаться вашего местного Ruby или его драгоценных камней. Вы можете вернуться к нему в любое время: rvm system.

0

источник ~/.rvm/скрипты/РВМ

РВМ перезарядка (Обновить последнее РВМ установлен)

РВМ установки 1.8.7

РВМ использование 1.8.7 --default

 Смежные вопросы

  • Нет связанных вопросов^_^