Контейнерные активы precompile disable, похоже, не работают
Я отключил активы конвейера, предварительно скомпилированные. Для этого у меня есть следующая строка в моем config/application.rb и config/environment/development.rb
config.assets.enabled = false
Я пытаюсь развернуть в среде разработки с Capistrano3. Когда я запускаю команду развертывания, я обнаружил, что активы предварительно скомпилированы.
$cap development deploy --trace
DEBUG [8b4a938e] Command: cd /home/ec2-user/capistrano-3/a/releases/20140122054901 && ( RAILS_ENV=development ~/.rvm/bin/rvm 2.0.0-p353 do bundle exec rake assets:precompile )
DEBUG [8b4a938e] /home/ec2-user/.rvm/rubies/ruby-2.0.0-p353/bin/ruby /home/ec2-user/capistrano-3/ano_dev/shared/bundle/ruby/2.0.0/bin/rake assets:precompile:all RAILS_ENV=development RAILS_GROUPS=assets
DEBUG [8b4a938e]
INFO [8b4a938e] Finished in 8.812 seconds with exit status 0 (successful).
Что мне еще нужно сделать, чтобы избежать компиляции активов. Он также дает
Ответы
Ответ 1
Что в вашем Capfile?
Если у вас
require 'capistrano/rails'
то он будет прекомпилировать ваши активы, потому что capistrano/rails также включает в себя связки, рельсы/активы и рельсы/миграции.
https://github.com/capistrano/rails/blob/master/lib/capistrano/rails.rb
https://github.com/capistrano/rails/blob/master/lib/capistrano/tasks/assets.rake
Если вы все еще хотите связки и миграции, но не активы, вы можете включить их отдельно в свой Capfile, просто убедитесь, что вам еще не требуется "capistrano/rails":
require 'capistrano/bundler'
require 'capistrano/rails/migrations'
Ответ 2
В моем случае наша команда использует общий камень для всех наших приложений Rails, а для общего драгоценного камня требуется "capistrano/rails" (таким образом, приводя компиляцию активов). Для приложения, которое не справлялось с этим, все, что мы сделали, было добавлено:
set :assets_roles, []
в config/deploy.rb
, и это заставляет capistrano-rails пропускать предварительную компиляцию активов.