Bug #8313
closedrubygem 2.0 can't communicate with remote sources http://rubygems.org/
Description
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:
$ 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
...
Updated by legerf (Frederic Leger) almost 11 years ago
$ sudo gem list --remote -V --backtrace
Password:
*** REMOTE GEMS ***
GET http://rubygems.org/latest_specs.4.8.gz
302 Moved Temporarily
GET http://production.s3.rubygems.org/latest_specs.4.8.gz
connection reset after 1 requests, retrying
GET http://production.s3.rubygems.org/latest_specs.4.8.gz
connection reset after 1 requests, retrying
Updated by legerf (Frederic Leger) almost 11 years ago
With wireshark I test and capture all traffic with the http://production.s3.rubygems.org server. The firewalls aren't the problem. All packets send/receive with success. And the last TCP/HTTP exchange send a result "HTTP/1.1 200 OK", size of reasembled TCP segments=459 168 bytes. My WAN firewall doesn't block anything for this address.
I tested "check" gem command and I see some errors:
$ sudo gem check -V --backtrace
Checking gems...
bigdecimal-1.2.0.gem has 1 problems
bigdecimal-1.2.0:
Gem registered but doesn't exist at /opt/local/lib/ruby2.0/gems/2.0.0/gems/bigdecimal-1.2.0
io-console-0.4.2.gem has 1 problems
io-console-0.4.2:
Gem registered but doesn't exist at /opt/local/lib/ruby2.0/gems/2.0.0/gems/io-console-0.4.2
json-1.7.7.gem has 1 problems
json-1.7.7:
Gem registered but doesn't exist at /opt/local/lib/ruby2.0/gems/2.0.0/gems/json-1.7.7
minitest-4.3.2.gem has 1 problems
minitest-4.3.2:
Gem registered but doesn't exist at /opt/local/lib/ruby2.0/gems/2.0.0/gems/minitest-4.3.2
psych-2.0.0.gem has 1 problems
psych-2.0.0:
Gem registered but doesn't exist at /opt/local/lib/ruby2.0/gems/2.0.0/gems/psych-2.0.0
rake-0.9.6.gem has 2 problems
/opt/local/lib/ruby2.0/gems/2.0.0/cache/rake-0.9.6.gem:
missing gem file /opt/local/lib/ruby2.0/gems/2.0.0/cache/rake-0.9.6.gem
/opt/local/lib/ruby2.0/gems/2.0.0/specifications/rake-0.9.6.gemspec:
Spec file missing for installed gem
rdoc-4.0.0.gem has 2 problems
/opt/local/lib/ruby2.0/gems/2.0.0/cache/rdoc-4.0.0.gem:
missing gem file /opt/local/lib/ruby2.0/gems/2.0.0/cache/rdoc-4.0.0.gem
/opt/local/lib/ruby2.0/gems/2.0.0/specifications/rdoc-4.0.0.gemspec:
Spec file missing for installed gem
test-unit-2.0.0.0.gem has 2 problems
/opt/local/lib/ruby2.0/gems/2.0.0/cache/test-unit-2.0.0.0.gem:
missing gem file /opt/local/lib/ruby2.0/gems/2.0.0/cache/test-unit-2.0.0.0.gem
/opt/local/lib/ruby2.0/gems/2.0.0/specifications/test-unit-2.0.0.0.gemspec:
Spec file missing for installed gem
$ sudo gem contents -V --backtrace
ERROR: While executing gem ... (Gem::CommandLineError)
Please specify at least one gem name (e.g. gem build GEMNAME)
/opt/local/lib/ruby2.0/2.0.0/rubygems/command.rb:177:in get_all_gem_names'
/opt/local/lib/ruby2.0/2.0.0/rubygems/commands/contents_command.rb:65:inexecute'
/opt/local/lib/ruby2.0/2.0.0/rubygems/command.rb:305:in invoke_with_build_args'
/opt/local/lib/ruby2.0/2.0.0/rubygems/command_manager.rb:170:inprocess_args'
/opt/local/lib/ruby2.0/2.0.0/rubygems/command_manager.rb:130:in run'
/opt/local/lib/ruby2.0/2.0.0/rubygems/gem_runner.rb:60:inrun'
/opt/local/bin/gem:21:in `'
$ sudo gem list --local -V --backtrace
*** LOCAL GEMS ***
bigdecimal (1.2.0)
io-console (0.4.2)
json (1.7.7)
minitest (4.3.2)
psych (2.0.0)
rake (0.9.6)
rdoc (4.0.0)
test-unit (2.0.0.0)
Updated by legerf (Frederic Leger) almost 11 years ago
Workaround :
I uninstall all macports ruby packages. And install RVM (https://rvm.io/rvm/). Activate ruby 2.0.0-p0 by rvm. And now, the "gem list -r" is fully functionnal. So, we have a bug with gem in macport.
I opened a bug in macport tracker: https://trac.macports.org/ticket/38992
You can close this ticket.
Frederic.
Updated by nobu (Nobuyoshi Nakada) almost 11 years ago
- Category changed from platform/darwin to lib/rubygems
- Status changed from Open to Assigned
- Assignee changed from macos to drbrain (Eric Hodel)
Updated by drbrain (Eric Hodel) almost 11 years ago
- Status changed from Assigned to Third Party's Issue
- Priority changed from 5 to Normal
Closed per author's request.