Was ich gerne hätte, wäre etwa so:
%Vor%Damit Edelsteine verschiedene Rackversionen benötigen, sind sie alle beschwichtigt. Ist das möglich?
Sie können ein Intervall erlaubter Edelsteine festlegen
%Vor%Es wird das aktuellste im ausgewählten Intervall geladen.
Aber ich glaube nicht, dass Sie verschiedene Edelsteinversionen benötigen können. Wenn ein Edelstein in verschiedenen Versionen geladen wird, müssen jede Klasse und jedes Modul einen eigenen Namensraum haben, um zu vermeiden, dass die Methoden des Edelsteins überschrieben werden.
Nein, Sie können nicht mehrere Edelsteinversionen gleichzeitig laden. Dies liegt daran, dass der Code, wie hervorgehoben, im Konflikt stehen würde. Wie würde ein Edelstein wissen, die 1.2.4
-Version von Rack im Gegensatz zur 1.3.3
-Version von Rack zu verwenden? Es kann nicht.
Auch: Bei Bundler müssen alle Edelsteinabhängigkeiten erfüllt sein , damit der Bündelungsprozess abgeschlossen werden kann. Wenn du ein Juwel hast, das ausdrücklich erfordert Rack 1.2.4 (dh = 1.2.4
ist in gemspec
für dieses Juwel) und dann ein anderes Juwel, das eine Version von Rack benötigt, wie zB >= 1.3
Diese Edelstein-Versionen werden in Konflikt geraten und Bundler wird es Ihnen sagen.
Ich bin auf diese Frage gestoßen, weil ich bestimmte kaputte Upstream-Juwelen, die fehlerhaft waren, auf die schwarze Liste setzen wollte. Während du nicht kannst
gem 'rack', '1.3.3', '1.2.4'
Sie können mehrere !=
-Restriktionen haben, um Versionen auszuschließen, von denen Sie wissen, dass sie problematisch sind:
gem 'rack', '!= 1.3.0.beta2', '!= 1.3.0.beta'