Ich schreibe eine Nicht-Rails-Ruby-Anwendung (Keuchen!) Und möchte in der Lage sein, alle Gem Abhängigkeiten, die die Anwendung in einem Anbieter-Unterverzeichnis benötigt. Dies wäre vergleichbar mit der Funktionsweise von http://gemsonrails.rubyforge.org/ für Rails-Apps.Entpacken/Einfrieren Edelsteine in eine Nicht-Rails-Ruby-App
Das Ziel hier ist, die Situation zu vermeiden, die mein Team derzeit erlebt, wenn eine neue Abhängigkeit hinzugefügt wird. Jeder Entwickler in meinem Team muss den Edelstein manuell installieren, und dann muss jeder die Test- und Staging- und Produktionsmaschine manuell aktualisieren. Wenn wir die Abhängigkeiten in die verteilte Anwendung selbst einfrieren können, dann wäre ein einfaches svn update (oder git pull für die Hipster in der Menge) alles was benötigt wird.
Müssen Sie nicht auch GEM_PATH verwalten? Andernfalls werden Edelsteinabhängigkeiten zur Laufzeit nicht korrekt aufgelöst. –
Sarah, nicht wenn du annimmst, dass alle Edelstein-Abhängigkeiten bereits in Vendor/Gems sind. Grundsätzlich umgeht diese Taktik RubyGems insgesamt. Mit anderen Worten, es gibt keine Notwendigkeit, "Rubygems" zu verlangen. Ich gebe zu, dass es bei diesem Ansatz einige Löcher gibt (besonders bei binären Edelsteinen), aber es sollte einen langen Weg zurücklegen und die Dinge trotzdem einfach halten. –
Ah, ok, also muss 'some_gem' funktionieren, weil some_gem/lib im $ LOAD_PATH steht. Das ist ein interessanter Ansatz. –