2016-01-08 3 views
1

Эта проблема, вероятно, имеет очевидный ответ на всех, кто долгое время использовал Ruby on linux, но я не могу получить хороший ответ через Google.Установка Ruby 2.2.3 на Ubuntu

Я пытаюсь проверить бета-версию Rails 5, для которой требуется Ruby 2.2.2 или выше. Я установил RVM (Ruby Version Manager) и установил рубиновую версию в 2.2.3. Запуск rvm list в терминале приводит следующий вывод:

rvm rubies 

=* ruby-2.2.3 [ x86_64 ] 

# => - current 
# =* - current && default 
# * - default 

Хорошо, отлично. У меня установлен Ruby 2.2.3. Давайте попробуем bundle update:

Installing rack 2.0.0.alpha (was 1.6.4) 

Gem::InstallError: rack requires Ruby version >= 2.2.2. 

Хорошо, что это странно. Какую версию рубина у меня есть? Запуск ruby -v дает мне это:

ruby 2.1.5p273 (2014-11-13) [x86_64-linux-gnu] 

Так что ... у меня есть 2.2.3 или нет? Что дает?

ответ

2

Поскольку вы используете bundle, я бы предложил вам проверить ваш Gemfile на рубиновую версию. Вы также можете проверить его с bundle exec ruby -v

Также попробуйте:

rvm use ruby-2.2.3 
bundle exec ruby -v 
+0

Это все еще 2.1.5 – NmdMystery

+0

У вас есть 'ruby 2.1.5' директива в вашем' Gemfile'? –

+0

Собственно, вот что случилось - я попытался использовать rbenv, и теперь ruby ​​-v показывает, что я использую 2.2.3. Я поместил эту директиву в Gemfile, и теперь запущено обновление пакета, у меня есть 2.1.5. Вероятно, это потому, что проект был инициализирован с использованием ruby ​​2.1.5, но я не знаю, как это решить. – NmdMystery

1

Возможно, установив версию Ruby, по умолчанию на rvm к одному у вас есть (рубиново-2.2.3) решает эту проблему, делая rvm --default use ruby-2.2.3. Затем перезагрузите bash и выполните команду ruby -v, чтобы проверить, правильно ли была изменена версия Ruby по умолчанию, а затем повторите попытку для выполнения команды bundle install.

Если вы не знаете zsh и oh-my-zsh, я настоятельно рекомендую для такого рода вещей. Вы можете настроить терминал, чтобы показать вам текущую версию Ruby и Rails, которые вы используете каждый момент. Проверьте это здесь: http://ohmyz.sh/

0

В дополнение к выполнению rvm use --default 2.2.3 или rvm use 2.2.3 убедитесь, что у вас нет пакета ruby ​​из apt (или любого другого менеджера пакетов). По какой-то причине этот пакет ruby ​​может иметь приоритет над RVM Ruby.

Кроме того, попробуйте сделать rvm uninstall 2.1.5, чтобы заставить вашу систему по умолчанию 2.2.3 ... Вы всегда можете переустановить 2.1.5 позже, и если эта проблема не исчезнет, ​​2.2.3 следует придерживаться вашего значения по умолчанию.

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