Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 独角兽在生产中找不到宝石_Ruby On Rails_Ruby_Unicorn - Fatal编程技术网

Ruby on rails 独角兽在生产中找不到宝石

Ruby on rails 独角兽在生产中找不到宝石,ruby-on-rails,ruby,unicorn,Ruby On Rails,Ruby,Unicorn,我刚刚在rails应用程序上安装了一个新的gem。在dev机器上一切正常 一旦我将应用程序部署到生产服务器上,我会在我的unicorn.log中得到一个未初始化常量,应用程序将不会运行 我可以使用rails s服务器运行应用程序,因此文件100%都在那里。我假设这是一个unicorn问题 关于如何调试这个有什么想法吗 编辑:添加stacktrace E, [2013-05-19T09:11:56.596020 #14042] ERROR -- : uninitialized constant R

我刚刚在rails应用程序上安装了一个新的gem。在dev机器上一切正常

一旦我将应用程序部署到生产服务器上,我会在我的
unicorn.log
中得到一个
未初始化常量
,应用程序将不会运行

我可以使用
rails s
服务器运行应用程序,因此文件100%都在那里。
我假设这是一个unicorn问题

关于如何调试这个有什么想法吗

编辑:添加stacktrace

E, [2013-05-19T09:11:56.596020 #14042] ERROR -- : uninitialized constant Rabl (NameError)
/home/deployer/apps/papaya/releases/20130519131101/config/initializers/rabl_init.rb:1:in `<top (required)>'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/engine.rb:588:in `block (2 levels) in <class:Engine>'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/engine.rb:587:in `each'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/engine.rb:587:in `block in <class:Engine>'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/initializable.rb:30:in `instance_exec'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/initializable.rb:30:in `run'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/initializable.rb:55:in `block in run_initializers'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/initializable.rb:54:in `each'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/initializable.rb:54:in `run_initializers'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/application.rb:136:in `initialize!'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/railtie/configurable.rb:30:in `method_missing'
/home/deployer/apps/papaya/releases/20130519131101/config/environment.rb:5:in `<top (required)>'
config.ru:4:in `require'
config.ru:4:in `block in <main>'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/rack-1.4.4/lib/rack/builder.rb:51:in `instance_eval'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/rack-1.4.4/lib/rack/builder.rb:51:in `initialize'
config.ru:1:in `new'
config.ru:1:in `<main>'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn.rb:44:in `eval'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn.rb:44:in `block in builder'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:718:in `call'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:718:in `build_app!'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:591:in `init_worker_process'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:611:in `worker_loop'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:500:in `spawn_missing_workers'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:511:in `maintain_worker_count'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:277:in `join'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/bin/unicorn:121:in `<top (required)>'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/bin/unicorn:23:in `load'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/bin/unicorn:23:in `<main>'
E[2013-05-19T09:11:56.596020#14042]错误--:未初始化常数Rabl(NameError)
/home/deployer/apps/papaya/releases/20130519131101/config/initializers/rabl_init.rb:1:in`'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/engine.rb:588:in'block(2层)in'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/engine.rb:587:in'each'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/engine.rb:587:in'block-in'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/initializable.rb:30:in'instance_exec'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/initializable.rb:30:in'run'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/initializable.rb:55:in“block in run_initializers”
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/initializable.rb:54:in'each'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/initializable.rb:54:in'run_initializers'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/application.rb:136:in'initialize!'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/railties-3.2.11/lib/rails/railtie/configurable.rb:30:in'method_missing'
/home/deployer/apps/papaya/releases/20130519131101/config/environment.rb:5:in`'
config.ru:4:in'require'
config.ru:4:in'block in'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/rack-1.4.4/lib/rack/builder.rb:51:in'instance_eval'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/rack-1.4.4/lib/rack/builder.rb:51:in'initialize'
config.ru:1:in'new'
config.ru:1:in`'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn.rb:44:in'eval'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn.rb:44:in'block in builder'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:718:in'call'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:718:in'build_app!'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:591:in'init_worker_process'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:611:in'worker_loop'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:500:in'spawn_missing_workers'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:511:in'mainte_worker_count'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/lib/unicorn/http_server.rb:277:in'join'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/gems/unicorn-4.5.0/bin/unicorn:121:in`'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/bin/unicorn:23:in'load'
/home/deployer/apps/papaya/shared/bundle/ruby/1.9.1/bin/unicorn:23:in`'

您是否在
gem文件中添加了gem
。另外,在对
Gemfile
进行更改后,您需要执行
捆绑安装
,您可以将其添加到deploy.rb文件中

before 'deploy', 'bundleinstall'  # update RVM

task :bundleinstall do
  run "cd /home/#{user}/#{application}/#{fetch :app_env}/current && bundle install", :shell => fetch(:rvm_shell)
end

是的。我正在使用capistrano部署应用程序,因此一旦部署,所有内容都会更新。这并不能解释为什么我可以使用
rails s
服务器,而不是Unicorn。我不确定
capistrano
是否在部署后安装了
捆绑包。如果你也不确定的话,你可能想确认一下。确实如此。gem可以在rails服务器和控制台中使用。您能分享在
unicorn.log
中得到的确切错误吗?或者,
Uninitialized constant
是您唯一得到的东西吗?您还可以共享
.bundle/config
文件吗?您的“rails”是在生产模式下启动的吗?是的。I do
RAILS\u ENV=production bundle exec RAILS s