Ваша версия Ruby-2.0.0, но ваш Gemfile указан 2.1.0

когда я пытаюсь установить пакет, я получаю следующее сообщение:

Your Ruby version is 2.0.0, but your Gemfile specified 2.1.0

в моем Gemfile у меня есть следующее:

ruby '2.1.0'

и когда я запускаю ruby -v в консоли я получаю:

ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin12.0]

что делает Ruby 2.1.0p0 означает? Какая версия должна быть в моем Gemfile и почему ошибка говорит мне, что у меня есть Ruby версии 2.0.0?

12 ответов


Run

gem install bundler

или

gem update bundler 

что может исправить вашу проблему.

для всех новых установленных версий Ruby вы должны обновить или установить новый комплект.


в корневом каталоге вашего проекта, создайте файл с именем .ruby-version содержащей (ждать его...)

2.1.0

это, по-видимому, крест-{rbenv,rvm} способ спецификации версии сейчас.


Если вы получаете это в проекте Rails, и вы недавно обновили свою версию Ruby, у вас может быть весна все еще работает со старой версией Ruby.

./bin/spring stop

исправит это.


Если вы используете Capistrano, вы также должны проверить свой на set :rbenv_ruby конфигурации.


Я получил это после обновления с ruby-установить. Исправлено с помощью:

gem install bundler

затем:

$HOME/.rubies/ruby-2.4.1/bin/bundle

нет необходимости указывать путь как which bundle указывает, что он уже использует этот путь. Но это дает ошибку версии, если работает bundle без пути. Не знаю почему?


для меня ни один из ответов не помог. Я починил его, закрывая и снова открывая терминал.


для более продвинутых проектов .версии.conf поддерживается, где может быть указано больше, чем версия Ruby.

генерации .версии.conf:

rvm --create --versions-conf use 1.9.3@my_app

пример .версии.conf:

ruby=jruby-1.6.8
ruby-gemset=my_app
env-JRUBY_OPTS=--1.9

убедитесь, что конфигурация сервера указывает на правильную установку ruby.

Я уже обновил свою версию Ruby в .ruby-version файл, и это не исправило его. ruby -v также показала правильную версию, но я забыл обновить конфигурацию сервера.

например, с rbenv, Nginx и Pushion Passenger у меня был в моем блоке сервера NGINX:
passenger_ruby /Users/myusername/.rbenv/versions/2.3.1/bin/ruby;

и мне нужно было переодеться...
passenger_ruby /Users/myusername/.rbenv/versions/2.3.3/bin/ruby;

затем перезапустил NGINX и это сработало.


Если вы используете rbenv для управления средами ruby, вы можете запустить rbenv local 2.1.0 в вашем каталоге проекта, чтобы установить версию ruby, которую запрашивает gemfile.


Спасибо за информацию об установке / обновлении bundler, но это не сработало для меня. Я должен был сделать rbenv rehash


brew cleanup ruby работал для меня, поскольку я использую HomeBrew для установки Ruby.

недавно я обновил Ruby через HomeBrew, но HomeBrew не удалил старую версию. brew cleanup ruby удалит старую версию Ruby.


я сталкиваюсь с ошибкой msg

Your Ruby version is 2.5.1, but your Gemfile specified 2.3.0

и решается следующими шагами:

  1. откройте Gemfile, который находится в вашем каталоге.
  2. изменить ruby '2.3.0' to ruby '2.5.1' и сохранить Gemfile
  3. вернитесь к элементам и запустите обновление пакета.

проблема полностью решена.