Pergunta

Eu instalo o plugin open_id_authentication e tenho este erro:

/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)

Quando tento começar rails serverNa verdade, o Rack-Openid instalado no meu sistema e eu posso carregá-lo no IRB:

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

Tentei adicionar hack ao GemFile como fiz com o rubi-openid, mas não ajudou:

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

Eu também tentei

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

mas:

/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)

No aplicativo Rails 2.3.5, não há esse problema e não consigo entender por que acontece no Rails 3.

Foi útil?

Solução

O problema é este código na parte superior do init.rb do plugin

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

Bundler parece não entender o requisito da GEM, então você está perdendo o rack-openid gema.

A solução é adicionar o seguinte ao seu Gemfile no lugar de ruby-openid. (rack-openid depende de ruby-openid Mas Gems está ciente disso e o instalará conforme necessário)

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

Não se esqueça de correr bundle install Depois de atualizar seu GemFile.

Outras dicas

Eu entendo seu problema, já que o Ruby OpenID pode ser muito irregular, por pequenas razões. Eu o instalei no trabalho, mas não consigo acertar em casa! Vou dar minha receita de trabalho:

Eu tenho o Plugins (somente)
authlogic_openid de: http://github.com/binarylogic/authlogic_openid
Open-ID de: http://github.com/senthilnambi/open-id

o Gems:
AuthLogic (2.1.3)
AuthLogic-Oid (1.0.4)
OpenId (0.0.1)
rack (1.0.1)
Rack-Openid (1.0.1)
Rubi-Openid (2.1.7)

No Ambiente (apenas):
config.gem "authlogic"

GL!

gem "rack-openid", :require => "rack/openid"
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top