Ich bin in einem älteren Rails-Projekt, das eine Gemfile hat. Ich habe versucht, einen Edelstein zur Gemfile hinzuzufügen, habe bundle install
aber eine Fehlermeldung erhalten:
Bundler could not find compatible versions for gem "bundler":
In Gemfile:
rails (= 3.0.0) ruby depends on
bundler (~> 1.0.0) ruby
Current Bundler version:
bundler (1.1.5)
This Gemfile requires a different version of Bundler.
Die verwendete Version von Rails erfordert den Bundler ~> 1.0.0, aber ich habe 1.1.5 installiert und verwende es für meine anderen Projekte. Normalerweise würde ich verwenden, bundle exec ...
aber da dies ein Bundler ist, über den wir sprechen, ist es etwas komplizierter. Wie kann ich meinem Gemfile einen Edelstein hinzufügen und ausführen, bundle install
während ich die erforderliche Bundler- Version verwende?
ruby-on-rails
ruby
bundler
Andrew
quelle
quelle
Antworten:
Zuerst müssen Sie die entsprechende Version des Bundlers installieren:
% gem install bundler -v '~> 1.0.0' Successfully installed bundler-1.0.22
Dann zwingen Sie Rubygems, die gewünschte Version zu verwenden ( siehe diesen Beitrag ):
% bundle _1.0.22_ install
quelle
gem install bundler -v '=1.16.0'
bundle _1.0.22_ install
angegebene Version zu verwendenDie Fehlermeldung
In Gemfile: bundler (~> 1.16)
ist etwas ungenau, da die Anforderung der Versionsnummer von anderen Stellen stammen kann, z. B. von der.gemspec
Datei, was bei mir der Fall war:spec.add_development_dependency "bundler", "~> 1.16"
Das Entfernen der Versionsnummer aus der
.gemspec
Datei löste das Problem für mich:spec.add_development_dependency "bundler"
quelle
Ich hatte das gleiche Problem unter macOS Mojave. Ich habe die andere Version des Bundler Gem installiert und die aktuelle Version deinstalliert.
gem install bundler -i '2.0.1'
gem uninstall bundler
Dann habe ich die Möglichkeit, die zu deinstallierende Version auszuwählen und diejenige auszuwählen, die das Problem verursacht.
quelle