Erik Veenstra
2/4/2005 6:37:00 PM
I added some debug information to the require method as defined
by RubyGems, because I didn't trust a message I got ("No such
file to load -- rubygems/builder").
The problem occurs when require is invoked recursively. In the
situation that a LoadError is thrown some levels deep, the file
it complains about ("rubygems/builder") isn't the file that
raised the exception ("yaml", because it's the first "9"-line).
After installing "libyaml-ruby", I got one step further: "zlib"
is missing", and so on. But in all situations, I got the same
message ("No such file to load -- rubygems/builder").
Looks like a bug...
gegroet,
Erik V.
----------------------------------------------------------------
def require(path)
p [1, path]
require__ path
p [2, path]
rescue LoadError
p [3, path]
begin
p [4, path]
@gempath_searcher ||= Gem::GemPathSearcher.new
p [5, path]
if spec = @gempath_searcher.find(path)
p [6, path]
Gem.activate(spec.name, true, "= #{spec.version}")
p [7, path]
require__ path
p [8, path]
else
p [9, path]
raise LoadError, "No such file to load -- #{path}"
end
end
end
end # module Kernel
----------------------------------------------------------------
erik@erikshost:~$ gem install sqlite-ruby
[1, "rubygems/user_interaction"]
[2, "rubygems/user_interaction"]
[1, "rubygems/builder"]
[1, "rubygems/package"]
[1, "yaml"]
[3, "yaml"]
[4, "yaml"]
[5, "yaml"]
[9, "yaml"]
[3, "rubygems/package"]
[4, "rubygems/package"]
[5, "rubygems/package"]
[9, "rubygems/package"]
[3, "rubygems/builder"]
[4, "rubygems/builder"]
[5, "rubygems/builder"]
[9, "rubygems/builder"]
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:35:in
`require': No such file to load -- rubygems/builder (LoadError)
from /usr/local/lib/site_ruby/1.8/rubygems.rb:58:in
`manage_gems'
from /usr/local/bin/gem:4
----------------------------------------------------------------