如何将Elastic Beanstalk转换为服务器编译资产?

时间:2013-01-17 17:35:56

标签: ruby-on-rails asset-pipeline elastic-beanstalk

我正在尝试在生产环境中运行Rails 3.2.x应用程序,但每次访问已部署的应用程序时,它都会抱怨资产未被编译:

An ActionView::Template::Error occurred in home#index:

application.css isn't precompiled
vendor/bundle/gems/actionpack-3.2.11/lib/sprockets/helpers/rails_helper.rb:142:in `digest_for'


-------------------------------
Request:
-------------------------------

* URL       : http://some-server.elasticbeanstalk.com/
* Parameters: {"controller"=>"home", "action"=>"index"}
* Rails root: /var/app/current
* Timestamp : 2013-01-17 17:22:55 UTC

但是,当我查阅我的EB实例的日志文件时,我将其视为每个部署的一部分:

Script succeeded.
Executing script: /opt/elasticbeanstalk/hooks/appdeploy/pre/11_asset_compilation.sh
Output from script: /usr/bin/ruby1.9 /usr/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets

我可以在生产模式下运行Passenger的本地实例,并且资产可以正常运行。有没有人对可能出现的问题有任何见解?

1 个答案:

答案 0 :(得分:0)

尝试从应用程序根目录运行以下命令重新启动应用程序:

touch tmp/restart.txt

为我解决了这个问题。