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!
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.
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)
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
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
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"
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.