2016-03-30 18 views
1

Bir Ruby uygulaması için geliştirme ortamı oluşturmak için bazı komut dosyaları yazıyorum. Benim Gemfile yılında
, ben nokogiri bağımlı taşlar var, libv8 vb farklı makinelerde bundle install çalışan üzerindegerekli olduğunda sistem kitaplıklarını kullanmak için bundler yapılandırmasının nasıl ayarlanacağı

, bu kadar inşa etmek benim komut

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

Şimdi bu var şu gibi mesajlarla başarısız sistem kitaplıklarını kullanarak yerel uzantı oluşturun.

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

Her taş (bcrypt-ruby, libv8 vs.) de benzer bir şekilde için paketleyici konfigürasyonları ayarlayabilir.

Bunu yapmak için daha iyi bir yolu var mı? Bu paket sistem kütüphaneleri kullanılarak gibi ayrıntıları anlamak ve tüm platformlarda makine için küresel yapılandırma varsayılan olarak davranır

+0

ile giderdim. Bence bundler'ın birden fazla değerli taşla ilgili bir konsept kavramı olduğunu düşünmüyorum. –

cevap

0

bundle config bunu çalıştırmak üzerinde çalışmalarını yüklemek paket böylece gibi bundler bir bayrak set - ~/.bundle/config

depolar verilere Sen deneyebilirsiniz your_app_dir/.bundle/config'da saklanan --local'u kullanmak ve daha sonra dosyayı işlemek veya dağıtımda oluşturmak. Sonuncu

+0

Burada ayrıca her bir mücevher için bayraklar belirtmem gerekiyor. Ayrıca bu tercihleri ​​demetleyiciye anlatmak için Gemfile'a bir şey koyabilir miyim? –

İlgili konular