Issue #8313 has been updated by nobu (Nobuyoshi Nakada).

Category changed from platform/darwin to lib/rubygems
Status changed from Open to Assigned
Assignee changed from cruby-mac to drbrain (Eric Hodel)


----------------------------------------
Bug #8313: rubygem 2.0 can't communicate with remote sources http://rubygems.org/
https://bugs.ruby-lang.org/issues/8313#change-39201

Author: legerf (Frederic Leger)
Status: Assigned
Priority: High
Assignee: drbrain (Eric Hodel)
Category: lib/rubygems
Target version: 
ruby -v: ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


I try to use Ruby 2.0 on my MAC OSX Mountain Lion with macports. The "sudo port install ruby2.0" and "sudo port select --set ruby ruby2.0" was success. But when I try to install gem package I have these errors:
>$ sudo gem list -r --debug

*** REMOTE GEMS ***

Exception `Errno::ENOENT' at /opt/local/lib/ruby2.0/2.0.0/rubygems/remote_fetcher.rb:298 - No such file or directory - /Users/fred/.gem/specs/rubygems.org%80/latest_specs.4.8
Exception `Errno::EAGAIN' at /opt/local/lib/ruby2.0/2.0.0/net/protocol.rb:153 - Resource temporarily unavailable - read would block
Exception `Errno::EAGAIN' at /opt/local/lib/ruby2.0/2.0.0/net/protocol.rb:153 - Resource temporarily unavailable - read would block
...

Some others informations:

>$ sudo gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 2.0.0
  - RUBY VERSION: 2.0.0 (2013-02-24 patchlevel 0) [x86_64-darwin12]
  - INSTALLATION DIRECTORY: /opt/local/lib/ruby2.0/gems/2.0.0
  - RUBY EXECUTABLE: /opt/local/bin/ruby2.0
  - EXECUTABLE DIRECTORY: /opt/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-12
  - GEM PATHS:
     - /opt/local/lib/ruby2.0/gems/2.0.0
     - /Users/fred/.gem/ruby/2.0.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

>$ sudo gem list -d

*** LOCAL GEMS ***

bigdecimal (1.2.0)
    Authors: Kenta Murata, Shigeo Kobayashi
    Homepage: http://www.ruby-lang.org
    Installed at (default): /opt/local/lib/ruby2.0/gems/2.0.0

    Arbitrary-precision decimal floating-point number library.

io-console (0.4.2)
    Author: Nobu Nakada
    Homepage: http://www.ruby-lang.org
    License: ruby
    Installed at (default): /opt/local/lib/ruby2.0/gems/2.0.0

    Console interface

json (1.7.7)
    Author: 
    Installed at (default): /opt/local/lib/ruby2.0/gems/2.0.0

    This json is bundled with Ruby

minitest (4.3.2)
    Author: 
    Installed at (default): /opt/local/lib/ruby2.0/gems/2.0.0

    This minitest is bundled with Ruby

psych (2.0.0)
    Author: Aaron Patterson
    Homepage: http://github.com/tenderlove/psych
    Installed at (default): /opt/local/lib/ruby2.0/gems/2.0.0

    Psych is a YAML parser and emitter

rake (0.9.6)
    Author: 
    Installed at (default): /opt/local/lib/ruby2.0/gems/2.0.0

    This rake is bundled with Ruby

rdoc (4.0.0)
    Author: 
    Installed at (default): /opt/local/lib/ruby2.0/gems/2.0.0

    This rdoc is bundled with Ruby

test-unit (2.0.0.0)
    Author: Shota Fukumori
    Homepage: http://www.ruby-lang.org
    Installed at (default): /opt/local/lib/ruby2.0/gems/2.0.0

    test/unit compatible API testing framework

A part of /opt/local/lib/ruby2.0/2.0.0/rubygems/remote_fetcher.rb:

...
  ##
  # Downloads +uri+ to +path+ if necessary. If no path is given, it just
  # passes the data.

  def cache_update_path uri, path = nil, update = true
    mtime = path && File.stat(path).mtime rescue nil   <--- line 298

    if mtime && Net::HTTPNotModified === fetch_path(uri, mtime, true)
      Gem.read_binary(path)
    else
      data = fetch_path(uri)

      if update and path then
        open(path, 'wb') do |io|
          io.write data
        end
      end

      data
    end
  end
...



-- 
http://bugs.ruby-lang.org/