Bundler не смог найти совместимые версии для gem " bundler":
Полный новый человек для Ruby и Rails здесь... Я пробовал некоторые учебные пособия в прошлом, но это все. Я пытаюсь следовать книге "Ruby on Rails 3 Tutorial" и попал в тупик, который я не смог найти никакой помощи после поиска здесь и в Google..
На самом деле я еще ничего не сделал; только:
rails new first_app
Затем изменил Gemfile sqlite3 на
gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'
Когда я запускаю 'bundle install', я получаю следующее:
Fetching gem metadata from http://rubygems.org/.........
Bundler could not find compatible versions for gem "bundler":
In Gemfile:
rails (= 3.0.1) ruby depends on
bundler (~> 1.0.0) ruby
Current Bundler version:
bundler (1.1.3)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
Я пытался. удаление bundler через
gem uninstall bundler -v 1.1.3
И затем установить bundler v1. 0. 0 через
gem install bundler -v 1.0.0
Но мне кажется, что это дает мне bundler 1.1.2..
Я просто чувствую, что попал в тупик и не могу найти больше информации о том, как решить эту проблему.
Любая помощь будет высоко оценена и вознаграждена обильным количеством бекона...
ОБНОВЛЕНИЕ ОБНОВЛЕНИЕ ОБНОВЛЕНИЕ
Я не смог удалить bundler v 1.1.2. Я, наконец, смог удалить все драгоценные камни с помощью выполнение:
sudo gem list | cut -d" " -f1 > gem_list.txt
cat gem_list.txt | xargs sudo gem uninstall -aIx
cat gem_list.txt | xargs sudo gem install
И затем переустановка... Это позволило мне затем сделать "установку пакета" и войти в курс дела.. Спасибо всем за вашу помощь!
5 ответов:
Сначала проверьте свои версии, чтобы убедиться, что они все актуальны:
$ ruby -v ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux] $ rails -v Rails 3.2.2 $ gem list bundler *** LOCAL GEMS *** bundler (1.1.3)Если вам нужно обновить ruby, вы можете загрузить его с ruby-lang.org или использовать такие инструменты, как ruby-build. Если у вас есть какая-либо версия Ruby 1.9.3, это нормально на данный момент.
Чтобы обновить все ваши драгоценные камни:
Gem может устанавливать драгоценные камни в нескольких разных местах, и они могут мешать друг другу. Есть системные драгоценные камни (обычно устанавливаемые root или с помощью sudo) и ваши личные пользовательские драгоценные камни. Мой любимый способ управлять ими можно с помощью простого инструмента под названием rb-evn. Родственным инструментом является rvm. И то и другое прекрасно.gem update --system gem updateДля вашего первого урока вы можете пропустить использование номеров версий в вашем Gemfile:
- gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3' + gem 'sqlite3-ruby', :require => 'sqlite3'Бандлер разберется во всем правильно. В конце концов, вы захотите указать номера версий, если вы координируете работу с другими разработчиками или создаете производственные системы.
Не стесняйтесь задавать вопросы здесь, и я добавлю к этому ответ.
Вы можете использовать последнюю версию Rails 3.0 (3.0.12). Он поддерживает последнюю версию bundler и принципиально не отличается от 3.0.1
Это потому, что gems также установлены в global gemset, и вы можете удалить его с помощью:
rvm @global do gem uninstall bundlerНо вы также можете использовать другую версию bundler, используя:
gem install bundler -v '~>1.0.0' bundle _1.0.0_ installЗаменить 1.0.0 на версию, которая была установлена (если другая)
Возможно, у вас на машине были установлены bundler 1.1.2 и 1.1.3 (и, возможно, больше версий)
Использовать
gem list bundlerЧтобы проверить, какие версии bundler вы установили.
Затем удалите те, которые вы не хотите с
gem uninstall bundler -v VERSION_NUMBER
Bundler-это зависимая жемчужина рельсов, из-за которой вы можете видеть ее только в
gemfile.lockвместоgemfile.Для конкретной версии rails совместим только ряд драгоценных камней bundler. Я также получил эту ошибку, и я попытался удалить эту версию bundler gem, которая мне не нужна. Я также попытался установить принудительно, используя
bundle_x.x.x_install, но когда что-то не сработало, я явно упомянул gem, указав версию, попадающую в диапазон, требуемый версией rails, которую я использую. Может быть, это не так, как надо, но именно так у меня все и получилось.
Comments