Heroku总是运行资产:使用Rails 3.2的生产环境进行预编译

时间:2012-03-22 20:46:30

标签: ruby-on-rails ruby-on-rails-3 heroku asset-pipeline

我将Heroku环境设置为暂存,但我的资产始终在生产环境中编译。

这是heroku config

GEM_PATH            => vendor/bundle/ruby/1.9.1
LANG                => en_US.UTF-8
PATH                => bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin
RACK_ENV            => staging

我在production.rb文件中添加了一个例外,因此我知道在编译资产时它正在运行哪个环境。服务器启动正常运行heroku run console表明我正在运行暂存。

正是在运行assets:precompile时,它始终处于生产阶段。

如果需要,我很乐意发布任何其他配置文件。

我可以补充说我正在运行Rails 3.2.2和heroku上的Cedar堆栈


heroku run rake about的输出:

About your application's environment
Ruby version             1.9.2 (x86_64-linux)
RubyGems version         1.3.7
Rack version             1.4
Rails version            3.2.2
JavaScript Runtime       therubyracer (V8)
Action Pack version      3.2.2
Active Support version   3.2.2
Middleware               Rack::Cache, ActionDispatch::Static, Rack::Lock, #, Rack::Runtime, Rack::Auth::Basic, Rack::MethodOverride, ActionDispatch::RequestId, Rails::Rack::Logger, ActionDispatch::ShowExceptions, ActionDispatch::DebugExceptions, ActionDispatch::RemoteIp, ActionDispatch::Callbacks, ActionDispatch::Cookies, ActionDispatch::Session::CookieStore, ActionDispatch::Flash, ActionDispatch::ParamsParser, ActionDispatch::Head, Rack::ConditionalGet, Rack::ETag, ActionDispatch::BestStandardsSupport
Application root         /app
Environment              staging

运行heroku run rake assets:precompile会给出:

/usr/local/bin/ruby /app/vendor/bundle/ruby/1.9.1/bin/rake assets:precompile:all RAILS_ENV=staging RAILS_GROUPS=assets

我应该放弃并发送电子邮件给Heroku吗?

2 个答案:

答案 0 :(得分:19)

显然我需要enable a plugin才能使其发挥作用。

答案 1 :(得分:1)

尝试将RAILS_ENV设置为staging,看看是否让Heroku更快乐。

相关问题