Ответ 1
Запустить
gem install bundler
или
gem update bundler
который может решить вашу проблему.
Для всех новых установленных версий Ruby вы должны обновить или установить новый пакет.
Когда я пытаюсь установить пакет, я получаю следующее сообщение:
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?
Запустить
gem install bundler
или
gem update bundler
который может решить вашу проблему.
Для всех новых установленных версий Ruby вы должны обновить или установить новый пакет.
В директории верхнего уровня вашего проекта создайте файл с именем .ruby-version
, содержащий (дождитесь его...)
2.1.0
По-видимому, это вариант cross- {rbenv,rvm}
для спецификации версии.
Если вы получите это в проекте Rails и недавно обновили версию Ruby, вы можете spring работать со старым версии Ruby.
./bin/spring stop
исправит это.
Для меня ни один из ответов не помог. Я исправил это закрытие и открытие терминала снова.
Если вы используете Capistrano, вы также должны проверить свой deploy.rb
файл для конфигурации set :rbenv_ruby
.
Я получил это после обновления ruby-install. Исправлено:
gem install bundler
а затем:
$HOME/.rubies/ruby-2.4.1/bin/bundle
Нет необходимости указывать путь, поскольку which bundle
указывает, что он уже использует этот путь. Но он дает ошибку версии при запуске bundle
без пути. Я не знаю почему?
Если вы используете rbenv для управления вашими рубиновыми средами, вы можете запустить rbenv local 2.1.0
в своем каталоге проекта, чтобы установить версию ruby, которую запрашивает ваш gemfile.
Ни один из приведенных выше ответов не работал для меня, но
$ gem pristine --all
помогло
Буона Фортуна
Ни одно из других предложений не сработало для меня. На сервере мне нужно было сделать:
rvm --default use [correct version number]
Для более продвинутых проектов поддерживается .versions.conf, где может быть указано больше, чем версия Ruby.
Создание .versions.conf:
rvm --create --versions-conf use [email protected]_app
Пример .versions.conf:
ruby=jruby-1.6.8
ruby-gemset=my_app
env-JRUBY_OPTS=--1.9
Убедитесь, что ваша конфигурация сервера соответствует правильной рубиновой установке.
Я уже обновил версию 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, и он сработал.
brew cleanup ruby
работал для меня, так как я использую HomeBrew для установки Ruby.
Я недавно обновил Ruby через HomeBrew, но HomeBrew не удалил старую версию. brew cleanup ruby
удалит более старую версию Ruby.
Это может произойти, когда вы устанавливаете новую версию ruby и обновляете .ruby-version и Gemfile до новой версии без предварительной установки всех гемов для новой версии ruby. Так что
$ bundle install
и вам также может понадобиться исходный код .profile или перезапустить вашу оболочку.
Спасибо за информацию об установке/обновлении пакета, но он не работает для меня. Я должен был сделать rbenv rehash
Была такая же ошибка. Делаем следующее исправим. Я использовал ruby 2.5.5 и rbenv. Обновлен с 2.5.1.
В проекте Ruby есть Gemfile с рубиновой версией. Измените это на желаемое.
Я сталкиваюсь с ошибкой
Your Ruby version is 2.5.1, but your Gemfile specified 2.3.0
и решается с помощью следующих шагов:
ruby '2.3.0'
на ruby '2.5.1'
и сохраните Gemfileпроблема отлично решена.