由于 Nokogiri,加载设计时出错 Gem

Error Loading Devise Gem Because of Nokogiri

我在加载设备时遇到错误 gem:

Boot Error

Something went wrong while loading config.ru

Bundler::GemNotFound: Could not find gem 'devise (~> 3.5.1) ruby' in any of the gem sources listed in your Gemfile or available on this

machine.

/Library/Ruby/Gems/2.0.0/gems/bundler-1.10.5/lib/bundler/resolver.rb:347:in

block in verify_gemfile_dependencies_are_found!' /Library/Ruby/Gems/2.0.0/gems/bundler-1.10.5/lib/bundler/resolver.rb:325:in each' /Library/Ruby/Gems/2.0.0/gems/bundler-1.10.5/lib/bundler/resolver.rb:325:in verify_gemfile_dependencies_are_found!' /Library/Ruby/Gems/2.0.0/gems/bundler-1.10.5/lib/bundler/resolver.rb:198:in start' /Library/Ruby/Gems/2.0.0/gems/bundler-1.10.5/lib/bundler/resolver.rb:182:in resolve' /Library/Ruby/Gems/2.0.0/gems/bundler-1.10.5/lib/bundler/definition.rb:200:in resolve' /Library/Ruby/Gems/2.0.0/gems/bundler-1.10.5/lib/bundler/definition.rb:140:in specs' /Library/Ruby/Gems/2.0.0/gems/bundler-1.10.5/lib/bundler/definition.rb:185:in specs_for' /Library/Ruby/Gems/2.0.0/gems/bundler-1.10.5/lib/bundler/definition.rb:174:in requested_specs' /Library/Ruby/Gems/2.0.0/gems/bundler-1.10.5/lib/bundler/environment.rb:18:in requested_specs' /Library/Ruby/Gems/2.0.0/gems/bundler-1.10.5/lib/bundler/runtime.rb:13:in setup' /Library/Ruby/Gems/2.0.0/gems/bundler-1.10.5/lib/bundler.rb:127:in setup' /Library/Ruby/Gems/2.0.0/gems/bundler-1.10.5/lib/bundler.rb:134:in require' /Users/Pabi/code/fwitter/config/environment.rb:2:in' /Users/Pabi/code/fwitter/app/controllers/application_controller.rb:3:in require_relative' /Users/Pabi/code/fwitter/app/controllers/application_controller.rb:3:in ' config.ru:1:in require_relative' config.ru:1:in block in inner_app' /Library/Ruby/Gems/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in instance_eval' /Library/Ruby/Gems/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in initialize' config.ru:1:in new' config.ru:1:ininner_app' /Library/Ruby/Gems/2.0.0/gems/shotgun-0.9/lib/shotgun/loader.rb:112:in eval' /Library/Ruby/Gems/2.0.0/gems/shotgun-0.9/lib/shotgun/loader.rb:112:in inner_app' /Library/Ruby/Gems/2.0.0/gems/shotgun-0.9/lib/shotgun/loader.rb:102:in assemble_app' /Library/Ruby/Gems/2.0.0/gems/shotgun-0.9/lib/shotgun/loader.rb:86:in proceed_as_child' /Library/Ruby/Gems/2.0.0/gems/shotgun-0.9/lib/shotgun/loader.rb:31:in call!' /Library/Ruby/Gems/2.0.0/gems/shotgun-0.9/lib/shotgun/loader.rb:18:in call' /Library/Ruby/Gems/2.0.0/gems/shotgun-0.9/lib/shotgun/favicon.rb:12:in call' /Library/Ruby/Gems/2.0.0/gems/shotgun-0.9/lib/shotgun/static.rb:14:in call' /Library/Ruby/Gems/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:138:in call' /Library/Ruby/Gems/2.0.0/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in service' /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/webrick/httpserver.rb:138:in service' /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/webrick/httpserver.rb:94:in run' /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'

这是我的 gems 文件中的内容:

source "https://rubygems.org"

gem "sinatra"
gem "activerecord"
gem "sinatra-activerecord"
gem "rake"
gem 'devise', '~> 3.5.1'
gem "rack-ssl-enforcer"
gem "haml"


group :development do
  gem "pry"
  gem "shotgun"
  gem "tux"
  gem "sqlite3"
end

我不知道它会是什么。我做了 bundle install,它安装了这个装置 gem。当我删除设计时,一切正常。

您试过只使用 gem 'devise' 吗?如:

gem 'devise'

Ver 3.5.1 是最新的(截至撰写本文时),因此默认情况下它应该安装最新版本(除非我错过了您这样做的原因)。

config.ru 出错 Bundler 找不到 gem devise 3.5.1 所以,试试 运行 bundle update

固定:

问题在于安装设计的依赖项之一:nokogiri。

我按照 this guide 安装 nokogiri 和解决问题,现在已经解决了。