【问题标题】:rvm + jruby / gem install bundler - Errno::ECONNREFUSED: Connection refusedrvm + jruby / gem install bundler - Errno::ECONNREFUSED:连接被拒绝
【发布时间】:2011-12-10 07:06:29
【问题描述】:

尝试在 jruby 1.6 下安装一些 gem,但连接被拒绝:

$ 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 - 看起来我的 .gemrc 中 squid 的旧代理设置终于被拾取,然后由于 squid 没有运行而失败:(


如果我切换回 jruby 1.5.6 或 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)

任何线索将不胜感激。

$ 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:       ""

在 jruby 网站上也记录为错误 - 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)

【问题讨论】:

    标签: ruby jruby


    【解决方案1】:

    这听起来不像是 RVM 问题。 RVM 管理正在运行的 Ruby,但它不应触及 gem 安装的存储库信息。

    输入rvm ruby 'gem env && echo'。您安装的每个红宝石的每个 gem 实例都将输出它们的环境信息。您可以比较它们以查看“远程源”是否不同。远程资源是 gems 找到它们的文件的地方。如果找不到宝石的那个是不同的,那么你就会发现你的问题。

    您可能需要更新 gem 版本。您可以使用gem update --system 来执行此操作,并使用rvm ruby 'gem update --system' 来执行所有操作。之后,您可能需要执行 rvm ruby 'gem clean rubygems-update' 来清理所有旧版本的 gem。

    【讨论】:

    • 谢谢,添加 gem env 信息,对我来说似乎没问题...刚刚安装了 jruby 1.6 - jruby 的更新--system 出现错误...也许需要重新安装...
    • 我建议将rvm infogems env 信息发送给RVM 开发人员,看看他是否也意识到任何问题。你可以通过rvm -v找到他的信息。
    【解决方案2】:

    rvm 旧命令已被弃用,而是使用这些命令:

    rvm ruby 'gem env && echo'
    
    rvm all do ruby gem clean rubygems-update
    

    【讨论】:

      猜你喜欢
      • 2011-12-02
      • 1970-01-01
      • 1970-01-01
      • 2012-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-29
      • 2013-08-15
      相关资源
      最近更新 更多