2012-04-04 7 views
2

Ich verpacken ein Juwel mit wenigen externen Abhängigkeiten (wie 'liquid', 'fastercsv', etc ..), die einzige Voraussetzung hier ist, dass der Benutzer installieren Der Edelstein hat keinen Zugriff auf das Netz (einige Proxy-Einschränkungen). Ich stelle meine Edelsteine ​​in den Ordner "vendor/bundle/jruby/1.9" und frage mich, wie ich den Benutzer zwingen kann, diese Edelsteine ​​zu verwenden, anstatt sie von http://rubygems.org herunterzuladen?So erzwingen externe Edelsteine ​​geladen werden Hersteller Ordner

Danke!

Antwort

2

Wenn du es wirklich tun willst, kannst du die Gemfile deines Edelsteins bearbeiten und diese Edelsteine ​​als Abhängigkeiten entfernen.

Dies bedeutet, dass ein Benutzer, der einen Edelstein installiert, keine anderen Edelsteine ​​herunterladen kann.

Innerhalb Ihres Edelsteins müssen Sie jedes der inneren Edelsteine ​​von Ihnen verlangen.

Wenn Sie sichergehen möchten, dass Sie Ihr eigenes inneres Juwel erhalten, anstatt eines bereits vorhandenen Edelsteins auf dem System des Benutzers, können Sie den Ladepfad verwenden: speichern Sie es, überschreiben Sie es mit Ihren eigenen, laden Sie Ihre Edelsteine ​​dann Stellen Sie den Ladepfad wieder her.

+0

Danke joelparkerhenderson. Soll ich "Gemspec" in meine Gemfile aufnehmen, oder sollte ich es löschen? Sollte ich auch die internen Edelsteine ​​verlangen wie "Verkäufer/Bündel .../Flüssigkeit" erfordern, anstatt "Flüssigkeit" zu verlangen? – sebarmeli

+0

Gute Frage, ich weiß es nicht; Ich persönlich würde es ohne probieren. Für Ihre zweite Frage würde ich zuerst versuchen, den Ladepfad zu ändern, mit dem Ziel, die Dateien Ihres Edelsteins wie gewöhnlich benötigen zu lassen: require 'liquid'. – joelparkerhenderson

+1

ah ok so etwas wie $: zu tun. Datei.dirname ('Hersteller') in der prj_name.rb Datei zu verschieben? – sebarmeli

Verwandte Themen