質問

プラグイン 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 にハックを追加しようとしましたが、役に立ちませんでした。

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 でなぜ発生するのか理解できません。

役に立ちましたか?

解決

問題は、プラグインのinit.rb

の上部にこのコードであります
if Rails.version < '3'
  config.gem 'rack-openid', :lib => 'rack/openid', :version => '>=0.2.1'
end

バンドラーは、あなたがrack-openid宝石が欠落しているように、宝石の要件にピックアップしていないようです。

ソリューションはGemfileの代わりにあなたのruby-openidに以下を追加することです。 (rack-openidruby-openidに依存するが、宝石は、このことを認識し、必要に応じてそれをインストールします)。

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

DOは、あなたのGemfileを更新した後bundle installを実行することを忘れないで。

他のヒント

Ruby openID は小さな理由で非常に不安定になる可能性があるため、問題は理解しています。職場では設置しているのですが、家では設置できない!私の実際のレシピを紹介します。

私が持っています プラグイン (のみ)
authlogic_openid から: http://github.com/binarylogic/authlogic_openid
オープン ID: http://github.com/senthilnambi/open-id

宝石:
認証ロジック (2.1.3)
authlogic-oid (1.0.4)
オープンID (0.0.1)
ラック (1.0.1)
ラックオープンID (1.0.1)
ルビー-openid (2.1.7)

環境 (のみ):
config.gem「認証ロジック」

GL!

gem "rack-openid", :require => "rack/openid"
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top