rails - 在本地运行生产模式=没有要加载的文件 - config / environment

时间:2014-02-22 15:20:55

标签: ruby-on-rails ruby ruby-on-rails-3 production-environment

我正尝试在生产模式下本地运行:

$ RAILS_ENV=production rails s

但我明白了:

/home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/activesupport-3.1.8/li
b/active_support/dependencies.rb:306:in `rescue in depend_on': No such file
 to load -- /home/durrantm/Dropnot/webs/rails_apps/linker/app/assets/../con
fig/environment (LoadError)

我可以创建一个全新的rails 3.1.8应用并执行RAILS_ENV=production rails server,但我没有遇到此问题。

我也可以做rails s并且在开发模式下运行服务器没有错误。

我也可以做RAILS_ENV=development rails s并且在开发模式下运行服务器没有错误。

fwiw,我的应用程序最初是一个rails 2.3应用程序,所以也许我错过了在rails中添加或更改的内容?

我的config目录中包含environment.rb文件。也许它被引用的方式在某种程度上是错误的?

我将config.assets.enabled = true添加到config/application.rb但它没有帮助(没想到它是资产编译,但这是我发现的差异!)。

完整追踪:

durrantm@Castle2012:~/Dropnot/webs/rails_apps/linker/config/environments (v3.1.8_with_assets)
$ RAILS_ENV=production rails s
=> Booting WEBrick
=> Rails 3.1.8 application starting in production on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/activesupport-3.1.8/lib/active_support/dependencies.rb:306:in `rescue in depend_on': No such file to load -- /home/durrantm/Dropnot/webs/rails_apps/linker/app/assets/../config/environment (LoadError)
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/activesupport-3.1.8/lib/active_support/dependencies.rb:301:in `depend_on'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/activesupport-3.1.8/lib/active_support/dependencies.rb:214:in `require_dependency'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/engine.rb:417:in `block (2 levels) in eager_load!'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/engine.rb:416:in `each'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/engine.rb:416:in `block in eager_load!'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/engine.rb:414:in `each'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/engine.rb:414:in `eager_load!'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/application/finisher.rb:51:in `block in <module:Finisher>'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/initializable.rb:30:in `instance_exec'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/initializable.rb:30:in `run'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/initializable.rb:55:in `block in run_initializers'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/initializable.rb:54:in `each'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/initializable.rb:54:in `run_initializers'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/application.rb:96:in `initialize!'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/railtie/configurable.rb:30:in `method_missing'
        from /home/durrantm/Dropnot/webs/rails_apps/linker/config/environment.rb:5:in `<top (required)>'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/activesupport-3.1.8/lib/active_support/dependencies.rb:240:in `require'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/activesupport-3.1.8/lib/active_support/dependencies.rb:240:in `block in require'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/activesupport-3.1.8/lib/active_support/dependencies.rb:223:in `block in load_dependency'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/activesupport-3.1.8/lib/active_support/dependencies.rb:640:in `new_constants_in'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/activesupport-3.1.8/lib/active_support/dependencies.rb:223:in `load_dependency'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/activesupport-3.1.8/lib/active_support/dependencies.rb:240:in `require'
        from /home/durrantm/Dropnot/webs/rails_apps/linker/config.ru:4:in `block in <main>'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/rack-1.3.6/lib/rack/builder.rb:51:in `instance_eval'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/rack-1.3.6/lib/rack/builder.rb:51:in `initialize'
        from /home/durrantm/Dropnot/webs/rails_apps/linker/config.ru:1:in `new'
        from /home/durrantm/Dropnot/webs/rails_apps/linker/config.ru:1:in `<main>'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/rack-1.3.6/lib/rack/builder.rb:40:in `eval'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/rack-1.3.6/lib/rack/builder.rb:40:in `parse_file'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/rack-1.3.6/lib/rack/server.rb:200:in `app'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/commands/server.rb:46:in `app'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/rack-1.3.6/lib/rack/server.rb:301:in `wrapped_app'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/rack-1.3.6/lib/rack/server.rb:252:in `start'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/commands/server.rb:70:in `start'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/commands.rb:54:in `block in <top (required)>'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/commands.rb:49:in `tap'
        from /home/durrantm/.rvm/gems/ruby-1.9.3-p194@linker/gems/railties-3.1.8/lib/rails/commands.rb:49:in `<top (required)>'
        from script/rails:6:in `require'
        from script/rails:6:in `<main>'

2 个答案:

答案 0 :(得分:3)

改变了一些事情。其中一个主要是在尝试在本地(仅)运行时在config/environments/production.rb中本地启用静态资产,并在推送到生产Web服务器之前将其恢复。我不知道。

答案 1 :(得分:1)

好像你的旧assets目录住在其他地方(可能在public),现在它在app/assets,但它不知道它,有些文件试图加载environment.rb。只需仔细检查资产目录。