2016-03-30 4 views
1

Ich schreibe einige Skripts zum Einrichten der Entwicklungsumgebung für eine Ruby-App.
In meinem Gemfile, ich Edelsteine ​​auf nokogiri abhängig haben, libv8 usw.wie Bundler-Konfiguration für die Verwendung von Systembibliotheken bei Bedarf festlegen

Auf bundle install auf verschiedenen Maschinen ausgeführt wird, schlägt es mit Nachrichten wie folgt

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

ich das jetzt in meinem Skript müssen zu bauen native Erweiterung mit Systembibliotheken erstellen.

bundle config build.nokogiri --use-system-libraries 
bundle install 

Ich kann für jeden Edelstein-Konfigurationen in bundler gesetzt (bcrypt-ruby, libv8 usw.) auf ähnliche Weise.

Gibt es einen besseren Weg, dies zu tun? Wie eine Fahne in bundler so eingestellt, dass Bündel Details verstehen wie Systembibliotheken und bündeln funktioniert auf allen Plattformen installieren

+0

Ich glaube nicht, Bundler hat ein Konzept von Optionen für mehrere Edelsteine ​​ –

Antwort

0

bundle config standardmäßig wirkt als globale Konfiguration für Maschine, die Sie führen Sie es - speichert Daten in ~/.bundle/config

können Sie versuchen, Verwenden Sie --local, die in your_app_dir/.bundle/config speichert und dann die Datei festschreiben oder erstellen Sie sie bei der Bereitstellung. Ich würde mit letzterem gehen

+0

Hier auch ich muss Flags für jede Edelsteine ​​angeben. Kann ich auch etwas in Gemfile eingeben, um Bundler diese Vorlieben mitzuteilen? –