7

我安装插件 open_id_authentication 并出现此错误:

/usr/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.beta/lib/active_support/dependencies.rb:167:in `require': no such file to load -- rack/openid (LoadError)

当我尝试启动时,rails server 实际上我的系统中安装了 rack-openid,我可以从 irb 加载它:

irb(main):001:0> require 'rack/openid'
=> true

我尝试像使用 ruby​​-openid 一样向 Gemfile 添加 hack,但它没有帮助:

gem "ruby-openid", :require => "openid"
gem "rack-openid", :require => "rack/openid"

我也试过

gem "ruby-openid", :require => "rack/openid"

但:

/usr/lib/ruby/gems/1.9.1/gems/bundler-0.9.7/lib/bundler/runtime.rb:38:in `require': no such file to load -- rack/openid (LoadError)

在 rails 2.3.5 应用程序中没有这个问题,我不明白为什么它会在 Rails 3 中发生。

4

3 回答 3

7

问题是插件的 init.rb 顶部的这段代码

if Rails.version < '3'
  config.gem 'rack-openid', :lib => 'rack/openid', :version => '>=0.2.1'
end

Bundler 似乎没有满足 gem 的要求,所以你错过了rack-openidgem。

解决方案是将以下内容添加到您Gemfileruby-openid. (rack-openid取决于ruby-openid但 gems 知道这一点并将根据需要安装它)

gem 'rack-openid', '>=0.2.1', :require => 'rack/openid'

不要忘记bundle install在更新您的 Gemfile 后运行。

于 2010-03-06T06:03:51.600 回答
1

我了解您的问题,因为 ruby​​ openID 可能非常不稳定,原因很简单。我在工作中安装了它,但在家里无法正确安装!我将给出我的工作配方:

我有来自:http://github.com/binarylogic/authlogic_openid 的插件(仅限)
authlogic_openid 来自:http
: //github.com/senthilnambi/open-id

宝石: authlogic
(2.1.3)
authlogic-oid (1.0.4)
openid (0.0.1)
rack (1.0.1)
rack-openid (1.0.1)
ruby​​-openid (2.1.7)

环境(仅限)
config.gem“authlogic”

GL!

于 2010-03-03T12:30:38.807 回答
0
gem "rack-openid", :require => "rack/openid"
于 2010-02-23T08:42:12.170 回答