Ruby Rails 4部署在Ubuntu13上——nokogiri(加载错误)

Ruby Rails 4部署在Ubuntu13上——nokogiri(加载错误),ruby,ubuntu,nginx,ruby-on-rails-4,passenger,Ruby,Ubuntu,Nginx,Ruby On Rails 4,Passenger,我已经通过Capistrano成功地将Rails 4应用程序从MS Windows 7机器部署到带有Nginx和passenger的Ubuntu 13.04服务器设置中。然而,我在页面加载时遇到了这个错误(相当长)(下面的错误) 是否有其他人遇到此错误并知道如何解决?我的localhost在开发和生产中都非常有效。我在谷歌上搜索过,发现无法加载这样的文件——nokogiri(LoadError)的出现有不同的原因,但没有明确的解决方案 注意:由于字符限制,需要截断错误文件的下半部分 Gem文件:

我已经通过Capistrano成功地将Rails 4应用程序从MS Windows 7机器部署到带有Nginx和passenger的Ubuntu 13.04服务器设置中。然而,我在页面加载时遇到了这个错误(相当长)(下面的错误)

是否有其他人遇到此错误并知道如何解决?我的localhost在开发和生产中都非常有效。我在谷歌上搜索过,发现
无法加载这样的文件——nokogiri(LoadError)
的出现有不同的原因,但没有明确的解决方案

注意:由于字符限制,需要截断错误文件的下半部分

Gem文件:

source 'https://rubygems.org'
ruby '2.0.0'
gem 'rails', '4.0.0'

gem 'rake', '10.1.0'
gem 'sqlite3', '1.3.8'
gem 'sass-rails', '~> 4.0.0'
gem "actionpack", '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'modernizr', '~> 2.6.2'
gem 'therubyracer', platforms: :ruby
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.3.0'
gem 'jbuilder', '~> 1.2'
gem 'nokogiri'

#Spree
gem 'spree', github: 'spree/spree'
gem 'spree_auth_devise', github: 'spree/spree_auth_devise'
gem 'ransack', github: 'ernie/ransack'
gem 'awesome_nested_set', github: 'collectiveidea/awesome_nested_set'
# Spree Payment Methods
gem 'spree_gateway', github: 'spree/spree_gateway'
# Spree Shipping Methods
gem 'spree_active_shipping', :git => "git://github.com/spree/spree_active_shipping"

group :doc do
  # bundle exec rake doc:rails generates the API under doc/api.
  gem 'sdoc', require: false
end

gem 'debugger', group: [:development, :test]

group :production, :staging do
  gem 'capistrano', '2.15.5'
  gem 'mysql2', '0.3.13'
end
页面加载时出错:

cannot load such file -- nokogiri (LoadError)
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `block in require'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:213:in `load_dependency'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/deface-1.0.0.rc4/lib/deface/parser.rb:1:in `<top (required)>'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `block in require'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:213:in `load_dependency'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/deface-1.0.0.rc4/lib/deface.rb:8:in `<top (required)>'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `require'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in `block in require'

....[a lot more error file]...
无法加载这样的文件--nokogiri(加载错误)
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in'require'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in'block in require'
/home/deploy/clientsite\u staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active\u support/dependencies.rb:213:in'load\u dependencity'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in'require'
/home/deploy/clientsite\u staging/shared/bundle/ruby/2.0.0/gems/deface-1.0.0.rc4/lib/deface/parser.rb:1:in`'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in'require'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in'block in require'
/home/deploy/clientsite\u staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active\u support/dependencies.rb:213:in'load\u dependencity'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in'require'
/home/deploy/clientsite\u staging/shared/bundle/ruby/2.0.0/gems/deface-1.0.0.rc4/lib/deface.rb:8:in`'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in'require'
/home/deploy/clientsite_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.0.0/lib/active_support/dependencies.rb:228:in'block in require'
..[更多错误文件]。。。

解决了的!
这是因为gem
#gem'bcryptruby',“~>3.0.0”
被注释掉了。当我取消对gem的注释时,它给出了另一个错误,所以我研究并发现用
gem'bcrypt ruby',git:'https://github.com/codahale/bcrypt-ruby.git“,:require=>“bcrypt”
由于以下原因而起作用。我现在可以部署并查看页面加载。

当您执行
cap deploy:setup
cap deploy
时,捆绑包安装是否成功运行?@Almaron Yes-
cap deploy:setup
cap deploy:check
,以及
cap deploy
都成功。codehale repo解决方案显然不再有效,但是,使用最新最好的Ruby版本(在本文撰写时为2.1.1)可能会有所帮助。(这对我很有帮助,因为到目前为止,我还找不到任何其他有效的方法。)