Wie füge ich optionale Abhängigkeiten zu rubygems hinzu, da dies nicht unterstützt wird?
Anwendungsfälle:
Ein Ansatz, über den ich nachdenke, ist Highjacking extconf.rb
. Ich könnte dort Systemchecks machen. Das fühlt sich jedoch falsch an. Wenn dies der einzige Weg ist, wie gehe ich darüber hinaus? Wie löse ich die Installation zusätzlicher Edelsteine von dort aus aus? system 'gem install ...'
?
Haben Sie versucht, informative Fehlermeldungen für unerfüllte Abhängigkeiten zu geben, um diese Missverständnisse auszuräumen? Mit Zombie-Chaser mache ich Gosu keine Abhängigkeit, aber wenn Leute versuchen, die grafische Version ohne Gosu zu benutzen, informiere ich sie, dass sie Gosu installieren müssen.
Ich kenne einige Edelsteine, die den Ansatz "Hijacking extconf.rb
" verwenden:
Beide benutzen Gem::DependencyInstaller#install
, um die Installation durchzuführen, was wahrscheinlich besser ist als system 'gem install ...'
.
Siehe auch diese Rubygems-Feature-Anforderung: spezifizieren Abhängigkeiten pro Ruby-Version .