пакетная установка в Capistrano без установки ресурсов драгоценных камней в Rails - PullRequest
2 голосов
/ 21 февраля 2012

Когда я запускаю cap deploy, гемы в группе :assets не устанавливаются.

Это проблема, потому что я использую предварительно скомпилированные ресурсы, и Capistrano должен запустить rake assets:precompile насервер.Это не получится, если не будут установлены гемы ресурсов.

Я могу обойти эту проблему, вручную запустив bundle install в правильном каталоге выпуска.Но очевидно, что это не правильный рабочий процесс.

Вот полная команда, которую Capistrano выполняет для установки гемов при каждом развертывании:

rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell 'default' -c 'cd 
/home/deploy/rails_apps/vlc/releases/20120223192328 && bundle install --gemfile 
/home/deploy/rails_apps/vlc/releases/20120223192328/Gemfile --path 
/home/deploy/rails_apps/vlc/shared/bundle --deployment --quiet --without development test'

Вот конец, который, я думаю, может быть частьюпроблемы:

--deployment --quiet --without development test'

Очевидно, что эти флаги приводят к установке Bundler без группы :assets.Какое здесь ожидаемое поведение?Это то, что я вижу необычно?(Наверное, так как для Capistrano не имеет смысла сознательно воздерживаться от установки группы драгоценных камней, которую она собирается использовать.)

В качестве примечания, я также отмечаю эту строку в application.rb:

Bundler.require(*Rails.groups(:assets => %w(development test)))

Я предполагаю, что ничего в application.rb не повлияет на bundle install, так как Rails для этого не загружается.Но, пожалуйста, поправьте меня, если эта строка действительно имеет отношение к моей проблеме.

1 Ответ

1 голос
/ 22 февраля 2012

--without запомненная опция, проверьте в вашем проекте dir / на сервере файл .bundle/config возможно, он уже содержит что-то вроде этого:

---
BUNDLE_WITHOUT: assets
...