RAILS_ENV,config.assets.debug和资产管道如何在Rails3中相关?

时间:2013-02-06 07:43:31

标签: ruby-on-rails-3.2 asset-pipeline

我们有UAT和生产环境来运行rails app。 UAT使用RAILLS_ENV = uat和RAILS_ENV =生产服务器的生产来运行应用程序。对于部署,我们在本地计算机上编译资产并将所有内容复制到这些服务器,这样我们就不必在UAT和生产服务器上编译资产。

现在,我发现如果设置config.assets.debug = true,我必须使用与我在资产编译时指定的env相同的RAILS_ENV运行rails app。 否则,我收到以下错误。

ExecJS::RuntimeUnavailable in Welcome#index

    Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.
    (in /opt/myapp/app/assets/javascripts/ping.js.coffee)

例如,如果我编译资产如下:

rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace

并使用config.assets.debug = true将编译资产复制到UAT服务器(其中RAILS_ENV是uat),它不适用于错误。

如果我设置config.assets.debug = false或使用RAILS_ENV = production运行应用程序,它可以正常工作。但是,我不明白为什么不同的RAILS_ENV出现问题 设置config.assets.debug = true时。

有人能解释一下他们的关系吗?

0 个答案:

没有答案