On Apr 27, 2011, at 11:56 PM, Zhi-Qiang Lei wrote: > Hi, > > I'm trying to package a library into a gem. I write the main file with autoload, just like Rack's. > > module RenrenAPI > > autoload :Authentication, "renren_api/authentication" > autoload :SignatureCalculator, "renren_api/signature_calculator" > autoload :HTTPAdapter, "renren_api/http_adapter" > > end > > But when I use the gem, I get a LoadError. > >> RenrenAPI::Authentication > LoadError: no such file to load -- renren_api/authentication > > The file does exist. Does anyone can tell me what the problem is with my library, which does not happen to Rack. > > Best regards, > Zhi-Qiang Lei > zhiqiang.lei / gmail.com > I find the problem is I made a wrong gemspec. spec.files = Dir["{lib/*,spec/*}"] + %w{README} It didn't package the file under "lib/renren_api/". To change it like this will solve this problem. spec.files = Dir["{lib/**/*,spec/*}"] + %w{README} Thanks. Best regards, Zhi-Qiang Lei zhiqiang.lei / gmail.com