6

当我在生产模式下运行我的Rails应用程序时,出现以下错误,但是当我在开发模式下运行我的应用程序时,它工作正常。 我可以在生产模式中使用任何宝石吗?`require':No such file to load - test_helper(LoadError)

`require': No such file to load -- test_helper (LoadError) 

以下是代码的完整的跟踪:

/home/nyros/.rvm/gems/[email protected]/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:229:in `require': No such file to load -- test_helper (LoadError) 
from /home/nyros/.rvm/gems/[email protected]/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:229:in `block in require' 
from /home/nyros/.rvm/gems/[email protected]/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:214:in `load_dependency' 
from /home/nyros/.rvm/gems/[email protected]/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:229:in `require' 
from /home/nyros/Documents/Projects/DFL/Working/DFL/app/controllers/quarterly_export_statement_test.rb:1:in `<top (required)>' 
from /home/nyros/.rvm/gems/[email protected]/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:229:in `require' 
from /home/nyros/.rvm/gems/[email protected]/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:229:in `block in require' 
from /home/nyros/.rvm/gems/[email protected]/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:214:in `load_dependency' 
from /home/nyros/.rvm/gems/[email protected]/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:229:in `require' 
from /home/nyros/.rvm/gems/[email protected]/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:330:in `require_or_load' 
from /home/nyros/.rvm/gems/[email protected]/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:289:in `depend_on' 
from /home/nyros/.rvm/gems/[email protected]/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:207:in `require_dependency' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/engine.rb:465:in `block (2 levels) in eager_load!' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/engine.rb:464:in `each' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/engine.rb:464:in `block in eager_load!' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/engine.rb:462:in `each' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/engine.rb:462:in `eager_load!' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/engine.rb:347:in `eager_load!' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/application/finisher.rb:56:in `each' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/application/finisher.rb:56:in `block in <module:Finisher>' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/initializable.rb:30:in `instance_exec' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/initializable.rb:30:in `run' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/initializable.rb:55:in `block in run_initializers' 
from /home/nyros/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:345:in `each' 
from /home/nyros/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:345:in `call' 
from /home/nyros/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:345:in `each_strongly_connected_component' 
from /home/nyros/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:224:in `tsort_each' 
from /home/nyros/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/tsort.rb:203:in `tsort_each' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/initializable.rb:54:in `run_initializers' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/application.rb:215:in `initialize!' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/railtie/configurable.rb:30:in `method_missing' 
from /home/nyros/Documents/Projects/DFL/Working/DFL/config/environment.rb:5:in `<top (required)>' 
from /home/nyros/.rvm/gems/[email protected]/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:229:in `require' 
from /home/nyros/.rvm/gems/[email protected]/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:229:in `block in require' 
from /home/nyros/.rvm/gems/[email protected]/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:214:in `load_dependency' 
from /home/nyros/.rvm/gems/[email protected]/gems/activesupport-4.0.2/lib/active_support/dependencies.rb:229:in `require' 
from /home/nyros/Documents/Projects/DFL/Working/DFL/config.ru:3:in `block in <main>' 
from /home/nyros/.rvm/gems/[email protected]/gems/rack-1.5.5/lib/rack/builder.rb:55:in `instance_eval' 
from /home/nyros/.rvm/gems/[email protected]/gems/rack-1.5.5/lib/rack/builder.rb:55:in `initialize' 
from /home/nyros/Documents/Projects/DFL/Working/DFL/config.ru:in `new' 
from /home/nyros/Documents/Projects/DFL/Working/DFL/config.ru:in `<main>' 
from /home/nyros/.rvm/gems/[email protected]/gems/rack-1.5.5/lib/rack/builder.rb:49:in `eval' 
from /home/nyros/.rvm/gems/[email protected]/gems/rack-1.5.5/lib/rack/builder.rb:49:in `new_from_string' 
from /home/nyros/.rvm/gems/[email protected]/gems/rack-1.5.5/lib/rack/builder.rb:40:in `parse_file' 
from /home/nyros/.rvm/gems/[email protected]/gems/rack-1.5.5/lib/rack/server.rb:277:in `build_app_and_options_from_config' 
from /home/nyros/.rvm/gems/[email protected]/gems/rack-1.5.5/lib/rack/server.rb:199:in `app' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/commands/server.rb:48:in `app' 
from /home/nyros/.rvm/gems/[email protected]/gems/rack-1.5.5/lib/rack/server.rb:314:in `wrapped_app' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/commands/server.rb:75:in `start' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/commands.rb:76:in `block in <top (required)>' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/commands.rb:71:in `tap' 
from /home/nyros/.rvm/gems/[email protected]/gems/railties-4.0.2/lib/rails/commands.rb:71:in `<top (required)>' 
from bin/rails:4:in `require' 
from bin/rails:4:in `<main>' 
+0

分享堆栈跟踪 –

+0

的一些行为什么你尝试加载'test_helper'的'生产环境?你在哪个文件中得到这个错误? – spickermann

+0

您是否试图在'production'环境中运行测试?请回复 – Vasfed

回答

11

你有一个测试,quarterly_export_statement_test.rb,在你app/controllers目录。

在生产中,Rails急切地加载所有类,因此它会尝试加载您的测试。你的测试确实是require 'test_helper'。包含test_helpertest目录不在生产环境(良好!)中的加载路径中,因此请求失败。

要解决该问题,请将测试移至其所属的test目录,该目录似乎为/home/nyros/Documents/Projects/DFL/Working/DFL/test

+0

我很喜欢引擎路径部分,但在OP的情况下,您的答案@dave是正确的。一般情况下,引擎不得低于./app,因为正如你所说,下面的应用程序中的所有*文件都将在生产中急切地加载。 – radiospiel

0

我同时使用了同样的错误:railstutorial.org第6章 对我来说,问题的文件是app/helpers/application_helper_test.rb 在顶部有require 'test_helper'

我评论说,线路输出,没有

git add -A 
git push 
git push heroku 

然后跑heroku run console,其工作:)

相关问题