Как переключиться на более старую версию рельсов
Я пытаюсь следовать старой книге, написанной в 2011 году.
Итак, случайная выборка 3.1.3 с ноября 2011 года.
Как переключиться на эту версию в моем RVM?
В настоящее время существует версия Rails 4.0.0.beta1
...
Пожалуйста, не предлагайте помещать его в Gemfile, потому что есть много других зависимостей, которые будут слишком сложными для решения, поэтому, если я просто переключусь, я предполагаю, что это означает, что будут приняты другие зависимости в то же время, верно?
ОБНОВЛЕНИЕ
**-s-MacBook-Pro:agile **$ rails -v
Rails 4.0.0.beta1
**-s-MacBook-Pro:agile **$ gem install rails -v 3.1.3
Successfully installed rails-3.1.3
1 gem installed
**-s-MacBook-Pro:agile **$ rvm gemset create rails 313
gemset created rails => /Users/**/.rvm/gems/[email protected]
gemset created 313 => /Users/**/.rvm/gems/[email protected]
**-s-MacBook-Pro:agile **$ ruby -v
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin10.8.0]
**-s-MacBook-Pro:agile **$ rvm [email protected]
Unknown ruby interpreter version: '1.9.3p392'.
**-s-MacBook-Pro:agile **$
UPDATE AGAIN
**-s-MacBook-Pro:agile **$ rvm gemset use 313
Using ruby-1.9.3-p392 with gemset 313
**-s-MacBook-Pro:agile **$ rails -v
/Library/Ruby/Site/1.8/rubygems/dependency.rb:296:in `to_specs': Could not find 'rails' (>= 0) among 2 total gem(s) (Gem::LoadError)
from /Library/Ruby/Site/1.8/rubygems/dependency.rb:307:in `to_spec'
from /Library/Ruby/Site/1.8/rubygems/core_ext/kernel_gem.rb:47:in `gem'
from /usr/bin/rails:18
**-s-MacBook-Pro:agile **$
Ответы
Ответ 1
Сначала удалите версию Rails, которая у вас есть:
gem uninstall rails
Затем установите версию Rails, которую вы хотите, например:
gem install rails -v 3.1.12
Существует несколько способов одновременного установки обоих. Как предложил Джо Фрамбах, вы можете установить Rails 4 в виртуальную машину. Вы также можете установить RVM - Ruby enVironment Manager - и использовать отдельные gemsets, чтобы разделить две версии Rails. Но если вы просто учитесь, вы можете не хотеть беспокоиться об этом.
Изменить: @Ответ на вопрос получил правильно, хотя он может использовать некоторое расширение, которое я сделаю здесь:
> rvm gemset create rails3
> rvm gemset use rails3
> gem install rails -v 3.1.12
> rails my_new_app
Ответ 2
Я случайно установил рельсы версии 4.1.7, но для нашего проекта нужны рельсы версии 4.1.6
после этого я удалил рельсы с помощью этой команды:
gem uninstall rails
а затем установите рельсы версии 4.1.6 с помощью этой команды:
gem install rails -v 4.1.6
но когда я запустил rails -v
, он все равно будет 4.1.7
запустив gem list
, я вижу, что в этом списке существует пакет, имя которого railties (4.1.7, 4.1.6)
после этого я удалил его с помощью этой команды:
# gem uninstall railties
Select gem to uninstall:
1. railties-4.1.6
2. railties-4.1.7
3. All versions
>
Я ввожу 2 и gem удаляю его. после него, когда я пытаюсь rails -v
, я дал 4.1.6
Ответ 3
Вы уже используете RVM. Создайте gemset для разных версий рельсов:
> rvm gemset create rails3
> rvm gemset use rails3
> bundle install
Затем вы получите только драгоценные камни, установленные в этом gemset. У меня возникнет соблазн создать gemset для rails4, а не для того, чтобы иметь драгоценные камни, которые не находятся в гемсет. Затем, чтобы переключаться между ними, вы просто rvm gemset use
, какой бы вы ни хотели.
Здесь больше о gemset здесь, и было бы полезно прочитать rvmrc, потому что тогда вам даже не нужно переключать gemsets.
Ответ 4
Мы можем изменить нашу версию рельсов по умолчанию.
Версия Rails, определенная в самом Ruby "bin".
установить требуемую версию рельсов на
gem install rails -v 4.2.6
и
В Windows:
- перейти к текущей папке "bin" в рубиновой версии (в моей системе c:/RubyXX-x64/bin)
- вы найдете там файл "rails" .
- открыть файл "rails" с текстовым редактором
вы увидите ----- version = " >= 0"
(что означает: он открывает самую высокую версию рельсов, которые существуют в ваших рубиновых драгоценных камнях)
- замените его на определенную версию рельсов как ----- version = "4.2.6"
В Linux:
- папка goto ruby lib (в моей системе ---/. rvm/gems/ruby-2.3.1/bin)
$, который связывает
(дает путь для поиска, из которого выполняется ruby, выполняемый вашим поставщиком (---/. rvm/gems/ruby-2.3.1/bin/bundler))
- отредактируйте файл "rails" с помощью текстового редактора
dathu @ubuntu: ~/.rvm/gems/ruby-2.3.1/bin $ sudo subl rails