Установка драгоценных камней в странном месте - PullRequest
1 голос
/ 19 ноября 2011

Я использую Subversion и Capistrano для развертывания моего приложения rails.Часть организации состоит в том, чтобы поместить все связанные гемы в «общую» папку, чтобы приложению не приходилось переносить их и устанавливать каждый раз при развертывании.

Обычно они попадают под/shared/bundle/, а затем есть различные папки (драгоценные камни, спецификации и т. Д.).Однако по какой-то причине, когда я запускаю bundle install, они устанавливаются на /shared/bundle/ruby/1.8.

Некоторая дополнительная информация: Когда я запускаю bundle install, строка «success» гласит:

Ваш комплект готов!Он был установлен в / home / shared / bundle

Никаких дополнительных папок не упоминается, но единственная папка bundle содержит каталог ruby.

Вывод bundle config:

frozen
  Set for your local app (/home/myapp/current/.bundle/config): "1"

disable_shared_gems
  Set for your local app (/home/myapp/current/.bundle/config): "1"

without
  Set for your local app (/home/myapp/current/.bundle/config): "development:test"

path
  Set for your local app (/home/myapp/current/.bundle/config): "/home/myapp/shared/bundle"

Я ничего не вижу о /ruby/1.8 нигде.Чего мне не хватает?Конечно, я могу просто установить путь к пакету /shared/bundle/ruby/1.8, но я не люблю обманывать.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 19 ноября 2011

Bundler «устанавливает» свою установку в эту папку на основе движка Ruby и его версии.

https://github.com/carlhuda/bundler/blob/3431d6d/lib/bundler/settings.rb#L78:

"#{path}/#{Bundler.ruby_scope}"

Bundler.ruby_scope определено в https://github.com/carlhuda/bundler/blob/3431d6d/lib/bundler.rb#L141-143:

def ruby_scope
  "#{Bundler.rubygems.ruby_engine}/#{Gem::ConfigMap[:ruby_version]}"
end
0 голосов
/ 19 ноября 2011
bundle install --path=<path>

Из документов .

Место для установки драгоценных камней в комплекте. Это по умолчанию дом драгоценного камня, который является местоположением, в которое устанавливает драгоценный камень, устанавливает драгоценные камни. Это означает, что по умолчанию гемы устанавливаются без настройки --path появится в списке драгоценных камней. Этот параметр запоминается.

...