Problème nécessite support / Rails 3 dans Openid [besoin natif fonctionnent correctement]
-
22-09-2019 - |
Question
Je open_id_authentication installer le plugin et cette erreur:
/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)
quand je tente de démarrer rails server
En fait, en rack installé Openid dans mon système et je peux le charger de RIR:
irb(main):001:0> require 'rack/openid'
=> true
J'ai essayé d'ajouter à pirater Gemfile comme je l'ai fait avec rubis Openid, mais il did't aide:
gem "ruby-openid", :require => "openid"
gem "rack-openid", :require => "rack/openid"
J'ai aussi essayé
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)
Dans rails 2.3.5 application il n'y a pas ce problème et je ne comprends pas pourquoi il se passe dans Rails 3.
La solution
Le problème est ce code en haut de init.rb du plugin
if Rails.version < '3'
config.gem 'rack-openid', :lib => 'rack/openid', :version => '>=0.2.1'
end
Bundler ne semble pas revenir sur l'exigence de pierres précieuses si vous manquez le joyau de rack-openid
.
La solution est d'ajouter ce qui suit à votre Gemfile
en place de ruby-openid
. (rack-openid
dépend ruby-openid
mais des pierres précieuses est au courant de cela et installera au besoin)
gem 'rack-openid', '>=0.2.1', :require => 'rack/openid'
Ne pas oublier de courir après la mise à jour bundle install
votre Gemfile.
Autres conseils
Je comprends votre problème puisque Ruby openID peut être très erratique, pour les petites raisons .. Je l'ai installé au travail, mais ne peut pas l'obtenir à la maison! Je donnerai ma recette de travail:
Je Plugins (UNIQUEMENT)
authlogic_openid de: http://github.com/binarylogic/authlogic_openid
open-id de: http://github.com/senthilnambi/open-id
Gems:
authlogic (2.1.3)
authlogic-oid (1.0.4)
openid (0.0.1)
crémaillère (1.0.1)
Porte-openid (1.0.1)
rubis-openid (2.1.7)
environnement (UNIQUEMENT) :
config.gem "authlogic"
GL!
gem "rack-openid", :require => "rack/openid"