首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误--:未初始化常量空气制动器(NameError)

错误--:未初始化常量空气制动器(NameError)
EN

Stack Overflow用户
提问于 2012-10-16 11:16:46
回答 3查看 1.9K关注 0票数 8

我正在做一个rails 3.2.8项目,我刚刚安装了空气制动gem来跟踪错误,在开发中我做了空气制动安装步骤,然后当我使用capistrano进行部署时,我在unicorn生产日志中得到了以下错误:

代码语言:javascript
复制
E, [2012-10-16T03:02:51.588084 #3645] ERROR -- : reaped #<Process::Status: pid 3846 exit 1> worker=3
I, [2012-10-16T03:02:51.588434 #3645]  INFO -- : worker=3 spawning...
I, [2012-10-16T03:02:51.708539 #3858]  INFO -- : worker=3 spawned pid=3858
I, [2012-10-16T03:02:51.708986 #3858]  INFO -- : Refreshing Gem list
E, [2012-10-16T03:02:52.793217 #3849] ERROR -- : uninitialized constant Airbrake (NameError)
/home/ubuntu/apps/nimrod/releases/20121011033552/config/initializers/airbrake.rb:1:in `<top (required)>'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/engine.rb:588:in `block (2 levels) in <class:Engine>'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/engine.rb:587:in `each'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/engine.rb:587:in `block in <class:Engine>'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/initializable.rb:30:in `instance_exec'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/initializable.rb:30:in `run'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/initializable.rb:55:in `block in run_initializers'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/initializable.rb:54:in `each'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/initializable.rb:54:in `run_initializers'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/application.rb:136:in `initialize!'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/railties-3.2.8/lib/rails/railtie/configurable.rb:30:in `method_missing'
/home/ubuntu/apps/nimrod/releases/20121011033552/config/environment.rb:5:in `<top (required)>'
config.ru:4:in `require'
config.ru:4:in `block in <main>'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'
config.ru:1:in `new'
config.ru:1:in `<main>'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn.rb:44:in `eval'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn.rb:44:in `block in builder'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:696:in `call'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:696:in `build_app!'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:569:in `init_worker_process'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:589:in `worker_loop'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:487:in `spawn_missing_workers'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:498:in `maintain_worker_count'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:272:in `join'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/bin/unicorn:121:in `<top (required)>'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/bin/unicorn:19:in `load'
/home/ubuntu/apps/nimrod/shared/bundle/ruby/1.9.1/bin/unicorn:19:in `<main>'

我注意到airbrake gem和所有其他gem一起安装在shared/bundle/ruby/1.9.1/gems中。

在生产环境中,我运行的是Ubuntu12.04 x64,其中的unicorn运行在nginx和ruby1.9.3-p194上,带有这个gem

代码语言:javascript
复制
Using airbrake (3.1.4) 
Using capistrano (2.12.0)    
Using bundler (1.1.4) 
Using rails (3.2.8) 
Using unicorn (4.3.1) 

我还试图阻止nginx,unicorn,然后重新启动它们,但没有奏效

我希望有人能帮我解决这个问题。

EN

回答 3

Stack Overflow用户

发布于 2014-07-15 17:28:56

在更新我的包之后,我也遇到了类似的错误。

似乎你必须在你的空气制动初始化器( rake_handler /initializers/airbrake.rb或config/initializers/errbit.rb)中使用rake_handler:

代码语言:javascript
复制
require 'airbrake/rake_handler'
票数 1
EN

Stack Overflow用户

发布于 2016-02-02 17:21:13

类似于上面的knagode。我需要添加rake处理程序。

代码语言:javascript
复制
require 'airbrake/rake_handler'

我还需要停止并重新启动服务器。

代码语言:javascript
复制
cap <env> deploy:stop
cap <env> deploy:start

看起来重启功能并没有把它恢复过来。

我的堆栈:

  • Nginx
  • Unicorn
  • Rails 4
  • Sidekiq
  • Redis
  • Postgres
票数 1
EN

Stack Overflow用户

发布于 2019-10-09 16:56:16

对我来说,以这种方式重新启动服务器很有帮助:

代码语言:javascript
复制
cap <env> deploy:stop
cap <env> deploy:start
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12907034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档