Bundler: заставляет его загружаться из двух разных каталогов - PullRequest
0 голосов
/ 29 сентября 2010

Из-за требований к ИТ в моей компании ИТ-инженеры должны устанавливать любые драгоценные камни, требующие компиляции, а любые чистые рубиновые драгоценные камни устанавливаются в подпапку проекта. Чтобы удовлетворить эти потребности, мы разделили наши драгоценные камни на различные группы:

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 использовать обычные пути загрузки, но он действительно подошел к концу и у меня не хватило времени, и мой мозг был полон желания смотреть исходный код в течение двух дней. Есть идеи, как решить проблему?

1 Ответ

0 голосов
/ 29 сентября 2010

Вот и получается, что я все делаю правильно. ИТ-специалист не установил гем ruby-oci8, а скомпилировал библиотеку ruby-oci8 вручную и загрузил ее на каждый сервер.

...