• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ruby ldapライブラリが利用できない)

Rubyでldapライブラリが利用できない

このQ&Aのポイント
  • Rubyでldapを利用したいと思っているのですがうまくいかず悩んでいます。
  • ruby-ldap.x.x.x.tar.gzをダウンロードしましたが、接続時に"uninitialized constant LDAP (NameError)"というエラーが出ます。
  • 書籍やWEBを参考にしてスクリプトを組んだのですが、トレースできず問題の解決に困っています。お分かりの方がいらっしゃれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

(正)←/usr/lib/ruby/1.8/net/ldap.rb を指定 これは、質問にある ruby-ldapじゃなくて、Net::LDAPのファイルじゃないですか? RubyForge: Pure Ruby LDAP Tools: Project Info http://rubyforge.org/projects/net-ldap/ であるなら名前空間が違うので LDAPでは何も見つからないはずです。 require 'ldap' でエラーになってないというのもわかりませんが、 Net::LDAPを使うのなら require 'net/ldap' ldap = Net::LDAP.new :host => server_ip_address, :port => 389, :auth => { :method => :simple, :username => "cn=manager,dc=example,dc=com", :password => "opensesame" } filter = Net::LDAP::Filter.eq( "cn", "George*" ) treebase = "dc=example,dc=com" ldap.search( :base => treebase, :filter => filter ) do |entry| puts "DN: #{entry.dn}" entry.each do |attribute, values| puts " #{attribute}:" values.each do |value| puts " --->#{value}" end end end p ldap.get_operation_result こういう感じになるのですが。 ldap.so はどのディレクトリにあって、そもそもインストールは どういう手順でやったのでしょうか?

skip_jack
質問者

お礼

ご丁寧な解答ありがとうございました。 /usr/lib/ruby/1.8/配下に、ldap.rb というファイルを作成していたことがあり、こちらを読んでいました。 require 'net/ldap' として、ご指摘のようにスクリプトを組みなおしたところ正常にどうさいたしました。

その他の回答 (1)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

>require "ldap"  ←/usr/lib/ruby/1.8/netldap.rb を指定 ここの意味がわからないのですがどういうことですか? ldap.so というのがインストール時に作られていて、それを読み込むと思うのですが。 netldap.rb ってどこから出てきたファイルなのかもわかりません。 >もしお分かりの方がおりましたらお教えください。 「おりましたら」というのを丁寧に言っている意味で書いているのなら間違いです。 自分、もしくは自分の身内を下げて言うときに使う表現ですよ。

skip_jack
質問者

補足

(誤)←/usr/lib/ruby/1.8/netldap.rb を指定 (正)←/usr/lib/ruby/1.8/net/ldap.rb を指定 でした。 ldap.soファイルは存在しています。

関連するQ&A