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


И затем переустановка... Это позволило мне затем сделать "установку пакета" и войти в курс дела.. Спасибо всем за вашу помощь!

1128   5  

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 update --system
gem update
Gem может устанавливать драгоценные камни в нескольких разных местах, и они могут мешать друг другу. Есть системные драгоценные камни (обычно устанавливаемые root или с помощью sudo) и ваши личные пользовательские драгоценные камни. Мой любимый способ управлять ими можно с помощью простого инструмента под названием rb-evn. Родственным инструментом является rvm. И то и другое прекрасно.

Для вашего первого урока вы можете пропустить использование номеров версий в вашем 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

    Ничего не найдено.