0

私は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を安全に修正する方法についてアドバイスを実際に使うことができました。

ありがとう。

4

4 に答える 4

7

Gemnetrcはの依存関係です。すべての依存関係をインストールするには、もう一度heroku実行してください。gem install heroku

于 2012-08-06T23:49:32.873 に答える
3

上記の解決策が機能しなかった場合は、herokuクライアントを削除してください。これで、同じ問題を解決しました。

rm -rf ~/.heroku/client
于 2012-08-22T00:15:31.097 に答える
1

以前のバージョンの一部では、アップデーターにバグがありました。https://toolbelt.heroku.comから再ダウンロードして再インストールすることをお勧めします。その後、最新バージョンが作成され、新しいバージョンが引き続きリリースされるため、更新は期待どおりに機能するはずです。

于 2012-09-10T20:28:04.820 に答える
0

gem install heroku特定のプロジェクトのGemfile内にherokugemがある場合は、十分ではない可能性があります。私はこの問題に遭遇し、をしなければなりませんでしたbundle update heroku。プロジェクトが使用しているもの、ローカルgemset、またはグローバルgemsetによって異なります。もちろん、Gemfileでheroku gemが特定のバージョンでロックされていないことを確認する必要があります。そうしないと、更新を実行しても何も起こりません。

于 2013-01-14T18:45:53.973 に答える