web-dev-qa-db-fra.com

Bundler n'a pas pu trouver de versions compatibles pour la gemme "bundler":

Compléter une nouvelle personne pour Ruby et Rails ici ... J'ai essayé quelques tutoriels dans le passé, mais c'est à peu près tout. J'essaye de suivre 'Ruby sur Rails 3 Tutorial 'book et ont atteint un barrage routier pour lequel je n'ai pas pu trouver d'aide après avoir recherché ici et Google ..

Je n'ai encore rien fait; seulement:

Rails new first_app

puis changé le Gemfile sqlite3 en

gem 'sqlite3-Ruby', '1.2.5', :require => 'sqlite3'

Lorsque j'exécute une installation groupée, j'obtiens ce qui suit:

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`?

J'ai essayé de désinstaller le bundle via

gem uninstall bundler -v 1.1.3

puis en installant bundler v1.0.0 via

gem install bundler -v 1.0.0

mais il semble me faire bundler 1.1.2 ..

J'ai juste l'impression d'avoir atteint une impasse et je ne trouve plus d'informations sur la façon de résoudre ce problème.

Toute aide serait grandement appréciée et récompensée par de copieuses quantités de bacon ...

MISE À JOUR MISE À JOUR MISE À JOUR

Je n'ai pas pu désinstaller Bundler v 1.1.2. J'ai finalement pu désinstaller toutes les gemmes en faisant:

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

Et puis réinstaller ... Cela m'a permis de faire ensuite l '"installation du bundle" et de me mettre sur la bonne voie .. Merci à tous pour votre aide!

21
audioeric

Vérifiez d'abord vos versions pour vous assurer qu'elles sont toutes à jour:

$ 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)

Si vous devez mettre à jour Ruby, vous pouvez le télécharger sur https://www.Ruby-lang.org ou utiliser des outils comme Ruby-build. Si vous avez une version de Ruby 1.9.3, ça va pour le moment.

Pour mettre à jour tous vos joyaux:

gem update --system
gem update

Gem peut installer des gemmes à différents endroits, et ceux-ci peuvent interférer les uns avec les autres. Il existe des gemmes système (généralement installées par root ou en utilisant Sudo) et vos gemmes utilisateur personnelles. Ma façon préférée de les gérer est d'utiliser un outil simple appelé rbenv. Un outil connexe est rvm. N'importe quel.

Pour votre premier tutoriel, vous pouvez ignorer l'utilisation des numéros de version dans votre Gemfile:

- gem 'sqlite3-Ruby', '1.2.5', :require => 'sqlite3'
+ gem 'sqlite3-Ruby', :require => 'sqlite3'

Bundler triera tout de la bonne façon. Finalement, vous voudrez spécifier les numéros de version si vous vous coordonnez avec d'autres développeurs ou si vous construisez des systèmes de production.

N'hésitez pas à poser des questions ici et j'ajouterai à cette réponse.

10

c'est parce que les gemmes sont également installées dans le jeu de gemmes global, et vous pouvez le désinstaller en utilisant:

rvm @global do gem uninstall bundler

mais vous pouvez également utiliser l'autre version de bundler en utilisant:

gem install bundler -v '~>1.0.0'
bundle _1.0.0_ install

remplacer 1.0.0 par la version qui a été installée (si autre)

15
Neeraj Kumar

Peut-être que vous aviez bundler 1.1.2 ET 1.1.3 installé sur votre machine (et peut-être plus de versions)

utilisation

gem list bundler

pour vérifier la ou les versions de bundler que vous avez installées.

Retirez ensuite ceux dont vous ne voulez pas

gem uninstall bundler -v VERSION_NUMBER
9

Vous pouvez utiliser la dernière version de Rails 3.0 (3.0.12). Il prend en charge le dernier bundler et n'est pas fondamentalement différent de 3.0.1

6
MikDiet

J'ai eu ce problème et la source était une spécification de version pour bundler dans le .gemspec fichier:

spec.add_development_dependency "bundler", "~> 1.16"

La suppression du numéro de version a résolu le problème:

spec.add_development_dependency "bundler"
1
Asbjørn Ulsberg

Parfois, pour résoudre le problème mentionné dans le titre de cette question, il suffit de supprimer Gemfile.lock et d'exécuter bundle update. J'espère que ce sera utile pour quelqu'un.

0
Roman Podymov