Подтвердить что ты не робот

Почему я получаю сообщение об ошибке "Ваша версия Ruby 2.0.0, но ваш Gemfile указан 2.2.2", хотя я установил 2.2.2

Я использую rbenv, и я получаю ошибку Your Ruby version is 2.0.0, but your Gemfile specified 2.2.2, когда я запускаю команду bundle install в моем проекте. Странно то, что у меня фактически установлена ​​версия 2.2.2 (как указывает мой Gemfile), а не версия 2.0.0. (См. Изображение ниже).

введите описание изображения здесь

Я попробовал решение, предлагаемое в этом потоке: Ваша версия Ruby 2.0.0, но ваш Gemfile указан 2.1.0, но это не повлияло.

Я на MacBook Air с Йосемити, если это имеет значение.

Update:

  • which rubyUsers/myuser/.rbenv/shims/ruby
  • ruby -vruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]
  • rbenv global 2.2.2 и rbenv rehash, не имеет эффекта
  • which bundle/usr/bin/bundle
  • gem env → - GEM PATHS:
    • /Users/myuser/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0
    • /Users/myuser/.gem/ruby/2.2.0
4b9b3361

Ответ 2

У вас установлена ​​система bundler, и rbenv всегда пытается ее поднять. Основываясь на шагах на этом сайте:

  • Убедитесь, что вы используете правильную версию gem. Введите which gem и gem env и убедитесь, что он указывает вашу версию версии 2.2.2 ruby ​​
  • Установите пакет с помощью этого драгоценного камня: gem install bundler
  • После установки этой версии bundler выполните rbenv rehash
  • Вызовите which bundler, убедитесь, что теперь он указывает на версию прокладки связки

gem install может работать некорректно с rbenv, если у вас есть переопределенная переменная GEM_HOME или GEM_PATH, или если у вас есть настраиваемые конфиги в ~/.gemrc, ~/.gem/gemrc или /etc/gemrc. Проверьте результат gem env, он должен сказать что-то вроде этого:

- INSTALLATION DIRECTORY: /Users/<youruser>/.rbenv/versions/<ruby-version>/lib/ruby/gems/<ruby-framework-version>
(...)
- GEM PATHS:
  - /Users/<youruser>/.rbenv/versions/<ruby-version>/lib/ruby/gems/<ruby-framework-version>

(обратите внимание, что ruby-framework-version не всегда точно соответствует ruby-version. Если ruby-version правильный, тогда путь должен быть в порядке)

Если нет, убедитесь, что в файлах, упомянутых выше, нет переопределений среды или настраиваемых конфигураций.

Вы также можете попытаться удалить все связки с вашего устройства и повторить попытку позже:

  • rbenv local system
  • gem uninstall bundler
  • rbenv local 2.2.2
  • gem uninstall bundler

Ответ 3

Для меня проблема заключалась в том, что после установки и переключения на новую рубиновую версию я не смог повторно инициализировать rbenv.

В моей конфигурации оболочки у меня была неправильная проверка, чтобы избежать выполнения source (rbenv init -|psub), если rbenv не был установлен. После ручного поиска он снова работал.