Ruby – rvm + jruby / gem install bundler – Errno::ECONNREFUSED: Connection refused

jrubyruby

Trying to install some gems under jruby 1.6, but getting connection refused:

$ gem install bundler
ERROR:  Could not find a valid gem 'bundler' (>= 0) in any repository
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    Errno::ECONNREFUSED: Connection refused - Connection refused (http://rubygems.org/latest_specs.4.8.gz)

DOH – looks like an old proxy setting for squid in my .gemrc was finally being picked up and then failing as squid was not running 🙁


Works fine if I switch back to jruby 1.5.6 or ruby 1.8…

$ rvm use jruby
Using /Users/kimptoc/.rvm/gems/jruby-1.6.0
$ gem list

*** LOCAL GEMS ***

rake (0.8.7)
sources (0.0.1)

Any clues would be appreciated.

$ rvm info

ruby-1.9.2-p136:

  system:
    uname:       "Darwin Chris-Kimptons-MacBook-Air.local 10.7.0 Darwin Kernel Version 10.7.0: Sat Jan 29 15:17:16 PST 2011; root:xnu-1504.9.37~1/RELEASE_I386 i386"
    bash:        "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)"
    zsh:         "/bin/zsh => zsh 4.3.9 (i386-apple-darwin10.0)"

  rvm:
    version:      "rvm 1.5.2 by Wayne E. Seguin (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]"

  ruby:
    interpreter:  "ruby"
    version:      "1.9.2p136"
    date:         "2010-12-25"
    platform:     "x86_64-darwin10.5.0"
    patchlevel:   "2010-12-25 revision 30365"
    full_version: "ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10.5.0]"

  homes:
    gem:          "/Users/kimptoc/.rvm/gems/ruby-1.9.2-p136"
    ruby:         "/Users/kimptoc/.rvm/rubies/ruby-1.9.2-p136"

  binaries:
    ruby:         "/Users/kimptoc/.rvm/rubies/ruby-1.9.2-p136/bin/ruby"
    irb:          "/Users/kimptoc/.rvm/rubies/ruby-1.9.2-p136/bin/irb"
    gem:          "/Users/kimptoc/.rvm/rubies/ruby-1.9.2-p136/bin/gem"
    rake:         "/Users/kimptoc/.rvm/gems/ruby-1.9.2-p136/bin/rake"

  environment:
    PATH:         "/Users/kimptoc/.rvm/gems/ruby-1.9.2-p136/bin:/Users/kimptoc/.rvm/gems/ruby-1.9.2-p136@global/bin:/Users/kimptoc/.rvm/rubies/ruby-1.9.2-p136/bin:/Users/kimptoc/.rvm/bin:/Users/kimptoc/Documents/java/libs/torquebox-current/jruby/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/kimptoc/bin:/usr/local/mysql/bin"
    GEM_HOME:     "/Users/kimptoc/.rvm/gems/ruby-1.9.2-p136"
    GEM_PATH:     "/Users/kimptoc/.rvm/gems/ruby-1.9.2-p136:/Users/kimptoc/.rvm/gems/ruby-1.9.2-p136@global"
    MY_RUBY_HOME: "/Users/kimptoc/.rvm/rubies/ruby-1.9.2-p136"
    IRBRC:        "/Users/kimptoc/.rvm/rubies/ruby-1.9.2-p136/.irbrc"
    RUBYOPT:      ""
    gemset:       ""

Also logged as bug on jruby site – http://jira.codehaus.org/browse/JRUBY-5683

Chris-Kimptons-MacBook-Air:temp kimptoc$ rvm ruby 'gem env && echo'
RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.6
  - RUBY VERSION: 1.8.7 (2010-12-03 patchlevel 249) [java]
  - INSTALLATION DIRECTORY: /Users/kimptoc/.rvm/gems/jruby-1.5.6
  - RUBY EXECUTABLE: /Users/kimptoc/.rvm/rubies/jruby-1.5.6/bin/jruby
  - EXECUTABLE DIRECTORY: /Users/kimptoc/.rvm/gems/jruby-1.5.6/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-java-1.6
  - GEM PATHS:
     - /Users/kimptoc/.rvm/gems/jruby-1.5.6
     - /Users/kimptoc/.rvm/gems/jruby-1.5.6@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "install" => "--no-rdoc --no-ri"
     - "update" => "--no-rdoc --no-ri"
     - "gem" => "--http-proxy http://localhost:3128"
     - "bundle" => "--http-proxy http://localhost:3128"
     - "bundler" => "--http-proxy http://localhost:3128"
  - REMOTE SOURCES:
     - http://rubygems.org/

RubyGems Environment:
  - RUBYGEMS VERSION: 1.5.1
  - RUBY VERSION: 1.8.7 (2011-03-15 patchlevel 330) [java]
  - INSTALLATION DIRECTORY: /Users/kimptoc/.rvm/gems/jruby-1.6.0
  - RUBY EXECUTABLE: /Users/kimptoc/.rvm/rubies/jruby-1.6.0/bin/jruby
  - EXECUTABLE DIRECTORY: /Users/kimptoc/.rvm/gems/jruby-1.6.0/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-java-1.6
  - GEM PATHS:
     - /Users/kimptoc/.rvm/gems/jruby-1.6.0
     - /Users/kimptoc/.rvm/gems/jruby-1.6.0@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "install" => "--no-rdoc --no-ri --env-shebang"
     - "update" => "--no-rdoc --no-ri --env-shebang"
     - "gem" => "--http-proxy http://localhost:3128"
     - "bundle" => "--http-proxy http://localhost:3128"
     - "bundler" => "--http-proxy http://localhost:3128"
  - REMOTE SOURCES:
     - http://rubygems.org/

RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10.4.3]
  - INSTALLATION DIRECTORY: /Users/kimptoc/.rvm/gems/ruby-1.8.7-p302
  - RUBY EXECUTABLE: /Users/kimptoc/.rvm/rubies/ruby-1.8.7-p302/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/kimptoc/.rvm/gems/ruby-1.8.7-p302/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-darwin-10
  - GEM PATHS:
     - /Users/kimptoc/.rvm/gems/ruby-1.8.7-p302
     - /Users/kimptoc/.rvm/gems/ruby-1.8.7-p302@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "bundle" => "--http-proxy http://localhost:3128"
     - "gem" => "--http-proxy http://localhost:3128"
     - "bundler" => "--http-proxy http://localhost:3128"
  - REMOTE SOURCES:
     - http://rubygems.org/

RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.8.7 (2010-12-23 patchlevel 330) [i686-darwin10.5.0]
  - INSTALLATION DIRECTORY: /Users/kimptoc/.rvm/gems/ruby-1.8.7-p330
  - RUBY EXECUTABLE: /Users/kimptoc/.rvm/rubies/ruby-1.8.7-p330/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/kimptoc/.rvm/gems/ruby-1.8.7-p330/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-darwin-10
  - GEM PATHS:
     - /Users/kimptoc/.rvm/gems/ruby-1.8.7-p330
     - /Users/kimptoc/.rvm/gems/ruby-1.8.7-p330@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "bundle" => "--http-proxy http://localhost:3128"
     - "gem" => "--http-proxy http://localhost:3128"
     - "bundler" => "--http-proxy http://localhost:3128"
  - REMOTE SOURCES:
     - http://rubygems.org/

RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.9.2 (2010-12-25 patchlevel 136) [x86_64-darwin10.5.0]
  - INSTALLATION DIRECTORY: /Users/kimptoc/.rvm/gems/ruby-1.9.2-p136
  - RUBY EXECUTABLE: /Users/kimptoc/.rvm/rubies/ruby-1.9.2-p136/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/kimptoc/.rvm/gems/ruby-1.9.2-p136/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-10
  - GEM PATHS:
     - /Users/kimptoc/.rvm/gems/ruby-1.9.2-p136
     - /Users/kimptoc/.rvm/gems/ruby-1.9.2-p136@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gem" => "--http-proxy http://localhost:3128"
     - "bundle" => "--http-proxy http://localhost:3128"
     - "bundler" => "--http-proxy http://localhost:3128"
  - REMOTE SOURCES:
     - http://rubygems.org/


Chris-Kimptons-MacBook-Air:temp kimptoc$ gem update --system
Updating RubyGems
ERROR:  While executing gem ... (NoMethodError)
    undefined method `version' for nil:NilClass



Chris-Kimptons-MacBook-Air:temp kimptoc$ rvm install jruby
jruby-1.6.0 - #fetching 
jruby-1.6.0 - #extracted to /Users/kimptoc/.rvm/src/jruby-1.6.0 (already extracted)
Building Nailgun
jruby-1.6.0 - #installing to /Users/kimptoc/.rvm/rubies/jruby-1.6.0
ERROR: Cannot switch to 1.6.2 for this interpreter.
jruby-1.6.0 - #importing default gemsets (/Users/kimptoc/.rvm/gemsets/)
Copying across included gems
ERROR:  Could not find a valid gem 'jruby-launcher' (>= 0) in any repository
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    Errno::ECONNREFUSED: Connection refused - Connection refused (http://rubygems.org/latest_specs.4.8.gz)

Best Solution

This doesn't sound like a RVM problem. RVM manages which Ruby is running, but it shouldn't touch the repository information for a gem install.

Type rvm ruby 'gem env && echo'. Each gem instance for each of your install Rubies will output their environmental information. You can compare them to see if the "REMOTE SOURCES" are different. The remote sources are where gems find their files. If the one that can't find a gem is different then you'll have found your problem.

You might need to update the gem versions. You can use gem update --system to do that, and rvm ruby 'gem update --system' to do all of them. Following that you'll probably want to do rvm ruby 'gem clean rubygems-update' to clean up any old versions of gem.

Related Question