hweeb... / gmail.com wrote:
> I've just installed Ruby 1.8.2 on Mac OS X Panther, followed by
RubyGem
> 0.8.10.1. When I try to run "gem update" or "sudo gem update" I get
the
> following error:
>
> ===========
> ERROR:  While executing gem ... (Errno::ECONNRESET)
>     Connection reset by peer
> ===========
>
> I re-ran it and with the option --backtrace* and traced the offending
> lines to:
>
> ===========
> def read_size(uri)
>       require 'net/http'
>       require 'uri'
>       u = URI.parse(uri)
>       http = connect_to(u.host, u.port)
>       path = (u.path == "") ? "/" : u.path
>       resp = http.head(path)
> ===========
>
> Now I start up irb and run
>
> ===========
> h = Net::HTTP.new("gems.rubyforge.org", 80)
> r=h.head('/yaml')
> ===========
>
> I get the same error as above. And if I run the following, I get a
good
> response:
>
> ===========
> h = Net::HTTP.new("motionobj.com", 80)
> r=h.head('/index.htm')
> ===========
>
> I'm not behind a proxy and I can access
http://gems.rubyforge.org/yaml
> with a browser (Safari). Does anyone know why? Thanks.

Are you sure you're not behind a proxy? I get good results on both
options.
In the past I've had the same problem where the corporate proxy was
mangling the head requests. Patching it to use #get worked, albeit
slower.
See
http://rubyforge.org/pipermail/rubygems-developers/2005-February/001381.html.