Из-за требований к ИТ в моей компании ИТ-инженеры должны устанавливать любые драгоценные камни, требующие компиляции, а любые чистые рубиновые драгоценные камни устанавливаются в подпапку проекта. Чтобы удовлетворить эти потребности, мы разделили наши драгоценные камни на различные группы:
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
При установке мы запускаем команду сборки на нашем тестовом сервере, мы запускаем bundle install --without native
При этом правильно устанавливаются камни версий только для ruby. После этого сервер сборки изменяет файл .bundle / config из этого
---
BUNDLE_PATH: vendor/bundle
BUNDLE_WITHOUT: development:native
BUNDLE_DISABLE_SHARED_GEMS: "1"
к этому
---
BUNDLE_PATH: vendor/bundle
BUNDLE_WITHOUT: development
Однако он все равно не может правильно загрузить драгоценные камни:
timetips1-lm27: ~ / ka $ ./script/rails c tii_test
Не удалось найти ruby-oci8-2.0.4 ни в одном из источников
Попробуйте запустить bundle install
.
Я искал исходный код, пытаясь найти способ заставить Bundler использовать обычные пути загрузки, но он действительно подошел к концу и у меня не хватило времени, и мой мозг был полон желания смотреть исходный код в течение двух дней. Есть идеи, как решить проблему?