我有一个 Rails 3.2.12 应用程序,我试图使用 Amazon S3 存储桶和我的 Heroku 应用程序的asset_sync gem 同步我的资产。我查看了整个 github 问题跟踪器和此处的 SO,但无法找到答案。所以这是我的问题:
是否可以使用asset_sync gem 同步.less 文件?
在我推送到 Heroku 之后,我在日志中看到了这个错误:
Running: rake assets:precompile rake aborted! variable @inputHeight is undefined (in /tmp/build_tejom7tf9zq9/app/assets/stylesheets/utils-and-mixins.less)
为了配置我的应用程序,我从asset_sync github页面关注了wiki,并设置了我的ENV变量,我使用了内置初始化程序。
以下是我的 production.rb 文件中的修改,以适应 assets_sync 要求:
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
config.assets.precompile += [ '*.css' ]
# Serving Assets From S3 on Heroku
config.action_controller.asset_host = "//s3.amazonaws.com/test"
# store assets in a 'folder' instead of bucket root
config.assets.prefix = "/production/assets"
end
任何建议将不胜感激。谢谢
编辑1:
我什至尝试在命令行中单独运行:
heroku run rake assets:precompile --app <yourapp>
但它没有帮助,它抛出了同样的错误。
编辑2:
我想这就是你要求的:
....
gem 'less-rails', '~> 2.3.2'
gem 'twitter-bootstrap-rails', '2.2.6'
# Gems used only for assets and not required in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
gem 'therubyracer', '~> 0.11.4', platforms: :ruby
gem 'asset_sync'
end