Как перейти с Ruby 1.9.2 на Ruby 1.8.7 для запуска Rails 2.0.2
Я хочу понизить версию Ruby, установленную мной (Ruby 1.9.2) на Ubuntu 10.04, чтобы я мог использовать соответствующую версию Ruby 1.8.7 для запуска Rails 2.0.2. Я использую более старую версию Rails для целей проекта.
Если я использую Rails 2.0.2 с Ruby 1.9.2, он дает мне ошибку, говоря, что can not конвертировать Enumerator в массив.
Я думал, что могу использовать rvm, но я не уверен, что он подходит для понижения.
Я получаю следующее в терминале, когда использую команду известный список 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
Я получаю следующее в списке установленных пакетов ruby при использовании команды dpkg -l | grep ruby
[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
Нужно ли мне удалять Ruby 1.9.2, и только потом просто установить Ruby 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
Когда я проверил текущую версию 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
Спасибо за вашу помощь..!!
Ответы
Ответ 1
Вся точка RVM такова, что вы можете иметь несколько версий 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
Используйте RVM и сохраняйте недели боли.
Вы можете использовать несколько версий 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
.
Ответ 3
источник ~/.rvm/scripts/rvm
rvm reload (обновить последнюю версию rvm)
rvm install 1.8.7
rvm use 1.8.7 --default