Я хочу использовать Rails с Ruby 2.1.0, но он использует Ruby 1.9.3 (системная версия).
Я использую rbenv для управления моими версиями Ruby. Мои шаги были чем-то вроде:
$ rbenv install 2.1.0
$ rbenv global 2.1.0
$ sudo gem install rails -v 4.0.2
$ rbenv rehash
$ rbenv versions
system
* 2.1.0 (set by /home/dennis/.rbenv/version)
$ ruby -v
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]
$ rails new app && cd app
$ rails server
Rails использует Ruby 1.9.3 (x86_64-linux), согласно localhost:3000/rails/info/properties
. Сообщение журнала из rails server
дает: INFO ruby 1.9.3 (2012-04-20) [x86_64-linux]
.
Я думаю, что Rails использует системную версию Ruby, потому что версии соответствуют.
$ rbenv local system
$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
$ rbenv local --unset # Unset local Ruby version, go back to 2.1.0
Некоторые вещи, которые я пробовал без везения:
- настройка локальных и оболочечных версий Ruby на 2.1.0 с помощью rbenv
- rehash rbenv shims (rbenv говорит об этом после установки исполняемых файлов)
- создал новые проекты Rails после переключения на 2.1.0 на всякий случай, когда я сделал проекты при использовании 1.9.3
- вставьте
2.1.0
в файл.ruby-version
в корень моего проекта (предложенный @Agis) - перезапуск сеанса терминала и запуск оболочки входа bash (предложенной @Russel)
- указав желаемую версию Ruby в проекте Gemfile (предложенный @rlecaro2)
FWIW, я использую Ubuntu 13.10 с оболочкой рыбы.