Ваша версия 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?
24 ответа
Бежать
gem install bundler
или же
gem update bundler
которая может решить вашу проблему.
Для всех новых установленных версий Ruby вы должны обновить или установить новый пакет.
В каталоге верхнего уровня вашего проекта создайте файл с именем .ruby-version
содержащий (подождите...)
2.1.0
Это, очевидно, является перекрестным{rbenv,rvm}
способ спецификации версии сейчас.
Для меня ни один из ответов не помог. Я исправил это закрытие и открытие терминала снова.
Если вы получили это в проекте Rails и недавно обновили свою версию Ruby, возможно, у вас все еще работает Spring со старой версией Ruby.
./bin/spring stop
это исправлю.
Ни одно из других предложений не работало на меня. На сервере мне нужно было сделать:
rvm --default use [correct version number]
brew cleanup ruby
работал для меня, так как я использую HomeBrew для установки Ruby.
Я недавно обновил Ruby через HomeBrew, но HomeBrew не удалил старую версию. brew cleanup ruby
удалит старую версию Ruby.
Основная причина этой проблемы - ваша машина и гемфайл используют другую версию ruby
поэтому есть несколько проблем и решений для этой проблемы, вы можете попробовать следующие решения один за другим
1.Убедитесь, что на вашем компьютере установлена и используется та же версия вашего гем-файла, если на вашем компьютере не используется тот же самый, попробуйте установить эту версию с помощью rvm
$ rvm install ruby_version_you_want
убедитесь, что версия успешно установлена, используя эту команду
$ rvm list
и если новая версия не установлена по умолчанию, вы можете установить ее с помощью этой команды
$ rvm --default use ruby_version_you_want
вы можете проверить текущую версию рубина
$ rvm current
$ ruby -v
2- если у вас есть такая же проблема, проверьте свой комплектовщик
$ gem install bundler
or
$ gem update bundler
3- в некоторых случаях весна все еще использует старую версию, поэтому вам нужно остановить ее
$ ./bin/spring stop
4- еще один случай, который вы можете ввести
$ gem pristine --all
и попробуйте снова установить пакет
5- также в некоторых случаях после установки обновленной версии Ruby вам просто нужно перезагрузить терминал.
6- другое решение, но я не рекомендовал его в качестве каталога верхнего уровня вашего проекта, создайте файл с именем.ruby-version, содержащий вашу активную запущенную версию ruby.
7- если у вас все еще есть эта проблема, попробуйте удалить рубин и установить только обновленную версию
$ aptitude purge ruby
Спасибо за информацию об установке / обновлении пакета, но он не работает для меня. Я должен был сделать rbenv rehash
Если вы используете Capistrano, вы также должны проверить deploy.rb
файл для set :rbenv_ruby
конфигурации.
Я получил это после обновления с помощью ruby-install. Исправлено это с:
gem install bundler
с последующим:
$HOME/.rubies/ruby-2.4.1/bin/bundle
Не нужно указывать путь как which bundle
указывает, что он уже использует этот путь. Но это дает ошибку версии, если работает bundle
без пути. Не знаю почему?
Я боролся с чем-то очень похожим, просто с разными версиями. Я наконец исправил это, перейдя в RubyGems и поместив последнюю версию пакета в мой гем-файл, который в настоящее время:
gem 'bundler', '~> 2.1', '>= 2.1.4'
Проблема все еще была, но после этого я запустил:
gem update --system
И он разрешил смешанные версии Ruby в папке проекта rails. Возможно, вам придется перезапустить терминал, прежде чем вы это сделаете. Кроме того, я закомментировал файл gem-пакета сборщика, похоже, команда gem update --system действительно решила его.
Я получил это отсюда:
Ни один из приведенных выше ответов не работал для меня, но
$ gem pristine --all
сделал трюк для меня
Буона Фортуна
Если вы используете rbenv для управления средами ruby, вы можете запустить rbenv local 2.1.0
в каталоге вашего проекта, чтобы установить версию ruby, которую запрашивает ваш gemfile.
Я открыл Gemfile и заменил
2.7.1
с моей собственной версией рубина
2.7.0
Сейчас все в порядке.
Убедитесь, что конфигурация вашего сервера указывает на правильную установку 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 и все заработало.
Для более продвинутых проектов поддерживается.versions.conf, где можно указать не только версию Ruby.
Генерация.versions.conf:
rvm --create --versions-conf use 1.9.3@my_app
Пример.versions.conf:
ruby=jruby-1.6.8
ruby-gemset=my_app
env-JRUBY_OPTS=--1.9
Если вы используете rbenv, просто запустите
rbenv local 2.0.0
потом
bundle install
Была такая же проблема, и я работаю с
rbenv
Вот шаги, которые помогли мне решить мою проблему:
Сначала в терминале введите . Для меня это дало: /
usr/local/bin/bundle
Снова в терминале попробуйте
which ruby
. В моем случае это дало:/Users/Mahmoud/.rbenv/shims/ruby
Таким образом, проблема здесь в том, что пакет не использует ту же версию ruby из rbenv. Так что путь нужно исправить. Другими словами, мне нужно указать своему терминалу использовать версию пакета rbenv, когда я использую установку пакета.
Итак, шаг 3. Для меня лично я уже установил путь:
export PATH="$HOME/.rbenv/shims:$PATH"
eval "$(rbenv init -)"
но, видимо, этого было недостаточно, так как я использовал zsh. Пришлось добавить те же самые 2 строки.
- Перезапустить терминал
В настоящее время
bundle install
работает как положено и
which bundle
дает:
что указывает на то, что проблема заключалась только в том, что пакет использовал не тот рубин.
Поэтому, если у вас есть эта проблема, просто убедитесь,
~/.bash_profile
а также
~/.zshrc
иметь правильный путь, добавив 2 строки, указанные выше. Если это не сработало, глубоко погрузитесь в пути, чтобы убедиться, что перед запуском какой пакет дает эквивалент:
/Users/Mahmoud/.rbenv/shims/bundle
Это может произойти, когда вы устанавливаете новую версию ruby и обновляете.ruby-version и Gemfile до новой версии, не устанавливая сначала все гемы для новой версии ruby. Так же
$ bundle install
и вам также может понадобиться исходный код.profile или перезапустить вашу оболочку.
Я решил эту проблему, обновив свою рубиновую версию до ruby '2.4.0'
затем bundle install
Я очищаю и устанавливаю с этим:
sudo gem pristine --all
и установить снова:
bundle install
Простое закрытие терминала, над которым я работал, и открытие нового сработало для меня. Иногда обновления не выполняются сразу до закрытия сеанса. Я обнаружил это в случае многих ошибок рельсов, с которыми я столкнулся.
Была такая же ошибка. Исправлено следующее. Я использовал Ruby 2.5.5 и rbenv. Обновился с 2.5.1.
- rbenv перефразировать
- сборщик удаления gem
- сборщик установки gem
- gem install bundler:1.17.3 (моему приложению нужен специальный комплект -v 1.17.3)
- драгоценные камни установить рельсы
Я сталкиваюсь с ошибкой
Your Ruby version is 2.5.1, but your Gemfile specified 2.3.0
и решается с помощью следующих шагов:
- Откройте Gemfile, который находится в вашем каталоге.
- менять
ruby '2.3.0'
вruby '2.5.1'
и сохранить Gemfile - вернуться к пунктам и запустить обновление пакета.
проблема отлично решена.