Когда я запускаю 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 для этого не загружается.Но, пожалуйста, поправьте меня, если эта строка действительно имеет отношение к моей проблеме.