En raison des exigences informatiques de mon entreprise, toutes les gemmes devant être compilées doivent être installées par les ingénieurs informatiques, et toutes les gemmes rubis pur sont installées dans un sous-dossier du projet. Pour répondre à ces besoins, nous Seperated nos pierres précieuses dans divers groupes:Bundler: le forcer à charger à partir de deux répertoires différents
source 'http://rubygems.org'
gem 'rails', '3.0.0'
gem 'activerecord-oracle_enhanced-adapter', '~> 1.3.1'
gem 'memcache-client', :require => 'memcache'
gem 'builder'
gem 'acts_as_list'
group :development, :test do
gem 'sqlite3-ruby', :require => 'sqlite3'
gem 'ruby-debug19', :require => 'ruby-debug'
end
group :native do
gem 'ruby-oci8'
gem 'nokogiri'
end
Lorsque nous installons nous courons la commande build sur notre serveur de test, nous courons bundle install --without native
Cela installe correctement le rubis que des pierres précieuses version. Ensuite, le serveur de build modifie le .bundle/config fichier de cette
---
BUNDLE_PATH: vendor/bundle
BUNDLE_WITHOUT: development:native
BUNDLE_DISABLE_SHARED_GEMS: "1"
à cette
---
BUNDLE_PATH: vendor/bundle
BUNDLE_WITHOUT: development
Cependant, il ne parvient toujours pas à charger les gemmes correctement:
timetips1- lm27: ~/ka $ ./script/rails c tii_test
Impossible de trouver ruby-oci8-2.0.4 dans l'une des sources
Essayez lebundle install
.
J'ai récuré par le code source en essayant de trouver un moyen de forcer Bundler à utiliser les chemins de charge normale, mais sont venus vraiment et court, et mon cerveau est frit de regarder le code source pendant deux jours. Des idées sur la façon de résoudre le problème?