2

最近、MacMiniをOS10.8 Mountain Lionにアップデートしましたが、RVM1.16.8でRubygemを使用すると、Ruby1.9.3p194が機能しなくなりました。

エラーの簡潔なバージョンは次のとおりです。

`load_api_keys': undefined method `key?' for #<String:0x007f865a928a28> (NoMethodError)

gem install bundler次のようなコマンドを実行すると、次gem -vのエラーが発生します。

➜  ~ gem
/Users/brettchalupa/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:227:in `load_api_keys': undefined method `key?' for #<String:0x007f865a928a28> (NoMethodError)
from /Users/brettchalupa/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:208:in `initialize'
from /Users/brettchalupa/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/gem_runner.rb:78:in `new'
from /Users/brettchalupa/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/gem_runner.rb:78:in `do_configuration'
from /Users/brettchalupa/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/gem_runner.rb:51:in `run'
from /Users/brettchalupa/.rvm/rubies/ruby-1.9.3-p194/bin/gem:25:in `<main>'

➜  ~ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.2.0]

➜  ~ rvm -v

rvm 1.16.8 (master) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

私は入って、物事を適切に機能させる競合するメソッド呼び出しをコメントアウトしましたload_api_keysが、それはrubygems.orgとの相互作用を壊します。

問題は行:227、if @api_keys.key? :rubygems_api_key then

def load_api_keys
  @api_keys = if File.exist? credentials_path then
                load_file(credentials_path)
              else
                @hash
              end
  if @api_keys.key? :rubygems_api_key then
    @rubygems_api_key = @api_keys[:rubygems_api_key]
    @api_keys[:rubygems] = @api_keys.delete :rubygems_api_key unless @api_keys.key? :rubygems
  end
end

RVMを削除して別のRubiesをインストールしようとした後、この問題の解決策が見つかりませんでした。使用している機能を削除するものを単にコメントアウトしたくありません。

何がこれを引き起こしているのか、そしてそれをどのように修正するのかについて誰かが洞察を与えることができれば、それは大いにありがたいです。

4

1 に答える 1

1

/Users/brettchalupa/.gem/credentialsを削除(または移動)し、デフォルトの資格情報を使用できるようにします。

于 2012-10-04T01:22:28.703 に答える