私はOSX10.6.8でRVM(v1.14.11&JewelryBox GUI)を1年以上問題なく使用しています。2つのルビー(1.9.2と1.9.3)に加えて、各ルビーにさまざまなジェムセットをインストールしています。
現在のデータベースを新しい製品に移行し終えたばかりなので、heroku gem(以前は2.14)を更新したほうがよいと思いました。そこで、rvmを介してruby-1.9.2-p290 @ rails gemsetを選択し、Terminalを開いて、「herokuudpate」を実行しました。
アップデート中にエラーは発生しませんでしたが、「herokuバージョン」とその他のさまざまな「heroku」コマンドを実行しようとすると、次のエラーが発生します。
/Users/me/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- netrc (LoadError)
from /Users/me/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/me/.heroku/client/lib/heroku/auth.rb:6:in `<top (required)>'
from /Users/me/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/me/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/me/.heroku/client/lib/heroku/client.rb:4:in `<top (required)>'
from /Users/me/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/me/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/me/.rvm/gems/ruby-1.9.2-p290@rails/gems/heroku-2.14.0/lib/heroku.rb:6:in `<top (required)>'
from /Users/me/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/me/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/me/.rvm/gems/ruby-1.9.2-p290@rails/gems/heroku-2.14.0/bin/heroku:6:in `<top (required)>'
from /Users/me/.rvm/gems/ruby-1.9.2-p290@rails/bin/heroku:19:in `load'
from /Users/me/.rvm/gems/ruby-1.9.2-p290@rails/bin/heroku:19:in `<main>'
上記の「1.9.1」への参照がいくつかあることに気付きました。これは、rvmでインストールした元のgemsetであり、「1.9.2」に更新しました。おそらくこれが原因ですか?
「gemenvironment」を実行すると、次のようになります。
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.10
- RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-darwin10.8.0]
- INSTALLATION DIRECTORY: /Users/me/.rvm/gems/ruby-1.9.2-p290@rails
- RUBY EXECUTABLE: /Users/me/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
- EXECUTABLE DIRECTORY: /Users/me/.rvm/gems/ruby-1.9.2-p290@rails/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-10
- GEM PATHS:
- /Users/me/.rvm/gems/ruby-1.9.2-p290@rails
- /Users/me/.rvm/gems/ruby-1.9.2-p290@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
別のgemset(ruby-1.9.3-p194@rails32)にも「heroku」gemが含まれていますが、rvmを使用して切り替えると、「heroku」gemを使用しても問題ありません。
rvm / osxのインストールは「一時的」な場合もあるし、少なくとも過去のことだったので、何がうまくいかなかったのか、壊れたgemsetを安全に修正する方法についてアドバイスを実際に使うことができました。
ありがとう。