我有一个包含大量 Assets 的 Rails 3.2 应用程序。没关系,因为我正在使用 [Asset Sync Gem( https://github.com/rumblelabs/asset_sync ),它将我所有编译的 Assets 推送到 S3 存储桶。
问题是这些 Assets 仍然包含在 slug 大小中,即使应用程序使用 S3 上的版本。这导致我的 slug 大小最终超过 300MB 限制。
我不能使用 .slugignore
文件,因为这会阻止文件同步,所以 一旦 AssetSync 将它们推送到 S3 并且在编译 slug 之前,如何删除所有 Assets ?
[更新]
我现在在本地预编译所有内容。 Heroku 编译资源的速度非常慢,更重要的是,它每次都编译所有内容。一旦您的 Assets 达到非平凡的大小,这真的很痛苦。我现在在本地预编译,并有一个 Rake 任务检查 list 并推送到 Heroku。
最佳答案
您可以在 assets:clean
之后添加删除目录的行为正在运行
require 'fileutils'
Rake::Task["assets:clean"].enhance do
FileUtils.remove_dir "#{Rails.root}/public/assets", true
end
你可以把它放在你的 Rakefile 中。
关于ruby-on-rails - 使用 Asset Sync Gem 时 Heroku 上的 Slug 大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18243332/