Wie halte ich alle gems im Gemfile-kompatibel nach update
Meine Frage schon gefragt wurde hieraber ich versuche zu verstehen was die Gründe dafür sind im Gegensatz zu wie das zu umgehen.
Die Fehler, die ich bekam, war;
You have already activated rspec-core 2.7.1, but your Gemfile requires rspec-core 2.6.4. Using bundle exec may solve this. (Gem::LoadError)
Nun habe ich verschiedene Lösungen, wie mit der "mpapis-bundler", oder erstellen Sie ein Kürzel für "bundle exec", aber ich war unter Eindruck dass das war, was
$bundle install --binstubs
war.
Genauer gesagt, da habe ich keine Versionsnummern angegeben in meinem gemfile für rspec-rails, warum habe ich diese Inkompatibilität? Mein Fehler ist auch aufgetreten als ich versucht
$rake db:migrate
mir zu sagen, dass
You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.9.2. Consider using bundle exec.
Alle Erklärungen wären sehr willkommen.
EDIT:
Alle meine Edelsteine für meine app in einem gemset, und ich habe aktualisiert mein Edelsteine wieder. Sollte ein update nicht, stellen Sie sicher, dass die zugehörigen Edelsteine sind kompatibel?
InformationsquelleAutor der Frage Theo Scholiadis | 2011-10-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies geschieht, wenn Sie installieren mehr den letzten, Edelsteine in Ihrem system als das, in Ihrer Rails-app.
Bundler sagt einfach Organisationseinheit, die Sie festhalten müssen, mit denen Sie Ihre Gemfile Staaten.
Dies ist der Zweck der Ausführung:
-> ausführen sehr gleichen rake-version Eure Gemfile bietet.
Bezug auf die Aktualisierung Edelsteine aus dem gemfile, einfach tun:
Der einfachste Weg, um zu vermeiden, diese Art von langweiligen Kram zu isolieren, Ihre Edelsteine durch die Schaffung von gemsets. Ich benutze RVM für diesen Zweck.
InformationsquelleAutor der Antwort apneadiving
Bezüglich der rake-version 0.9.2.2, entweder Möglichkeiten, dies zu tun ist, erstellen Sie ein neues gemset für das Projekt und halten die gem-version gefunden, die Ihren Gemfile.
Zum Beispiel, wenn es zwei rake gem mit Versionen 0.9.2 und 0.9.2.2, Angabe rake version '0.9.2' zwar installiert, aber nicht ausgeführt, keine Aufgaben, abgesehen von Blasen Fehlermeldung besagt, dass
', Die Sie bereits aktiviert haben rake-0.9.2.2, aber Ihre Gemfile erfordert rake 0.9.2. Die Verwendung von bundle exec kann dieses Problem lösen.'
Ich erwarte bundle install zu sperren, die gem-version, die im Gemfile.lock und wählen Sie den rake 0.9.2, aber es sieht in dem gemset, in denen von Standard-rake-0.9.2.2 ist aktiviert.
Erinnert einen nur daran, den Zweck der bundle-Installation von agile web-Entwicklung mit rails Buch,
'- bundle installieren, wird die Verwendung der Gemfile.Schloss als Ausgangspunkt, und installieren Sie nur die
Versionen der verschiedenen Edelsteine, wie in dieser Datei angegeben. Aus diesem Grund, es ist
wichtig ist, dass diese Datei überprüft in Ihrem version control system wie dieses
wird dafür sorgen, dass Ihre Kollegen und deployment-Ziele werden alle mit der
genau die gleiche Konfiguration.'
aber es funktioniert nicht so,
Desto besser ist das deinstallieren von rake-0.9.2.2 und verwenden Sie die rake 0.9.2, oder nutzen Sie das bundle-update Rechen, dass updates des rake-version im Gemfile.lock 0.9.2.2
InformationsquelleAutor der Antwort hariharan kumar
Als @apneadiving gesagt, laufen "$bundle install" aktualisiert alle bunldes. Jedoch, nach dem ausführen von "$bundle install --binstubs" ich habe immer noch Fehler auf inkompatible Edelsteine, wenn ich die weggelassen "bundle exec" Teil.
Anschließend musste ich update mein Gemfile wie ich fügte hinzu, ein weiteres Juwel, und jetzt arbeiten Sie. Ich gehe davon aus, dass die Inkompatibilitäten beseitigt wurden, indem die gem Schöpfer.
InformationsquelleAutor der Antwort Theo Scholiadis