Rails не использует мою глобальную версию Ruby
Я хочу использовать 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 с оболочкой рыбы.
Ответы
Ответ 1
Вы не указали, как вы установили rbenv
, но я думаю, что это установка для каждого пользователя (которая по умолчанию). В этом случае вы должны установить драгоценные камни, не используя sudo
. Когда вы сделали sudo gem install rails
, он был установлен в системном рубине, а не в rbenv, который был выбран.
Решение - установите рельсы без sudo:
rbenv global 2.1.0
gem install rails
rbenv rehash
Ответ 2
Звучит глупо, но вы перезапустили сеанс терминала?
В противном случае попробуйте и введите
/bin/bash --login
Ответ 3
Попробуйте создать файл .ruby-version
в корне вашего проекта со следующим содержимым:
2.1.0