3

RVM を使用して Ruby 1.9.2 をパッチ レベル p180 から p290 にアップグレードしました。

rvm upgrade 1.9.2-p180 1.9.2-p290

次に、これらのコマンドを使用して、Rails gem とその他の gem を更新しました。

gem install rails 3.0.5
gem update

すべてがうまくいっているようです。rvm infoすべての Ruby バイナリと gem が正しい p290 パス (~/.rvm/*/ruby-1.9.2-p290/*) に移動されたことを示します。

ただし、Rails アプリケーション ディレクトリに移動してコマンドを発行するrails consoleと、gem (activesupport-3.0.5) がファイルを読み込めないというエラー メッセージが表示されlibruby.1.9.1.dylibます。

10:30 AM ~/Development/rails_projects/my_app_0515 $ レールコンソール

/Users/whk/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:239:「必要」: dlopen(/Users/whk/.rvm /gems/ruby-1.9.2-p290/gems/serialport-1.0.4/lib/serialport.bundle, 9):ライブラリが読み込まれていません: /Users/whk/.rvm/rubies/ruby-1.9.2-p180/ lib/libruby.1.9.1.dylib (LoadError) 参照元: /Users/whk/.rvm/gems/ruby-1.9.2-p290/gems/serialport-1.0.4/lib/serialport.bundle 理由: image not見つかった - /Users/whk/.rvm/gems/ruby-1.9.2-p290/gems/serialport-1.0.4/lib/serialport.bundle 。. .

パスはもう存在しない~/.rvm/rubies/ruby-1.9.2-p180/libため、Rails は で dylib ファイルを見つけることができませんが、ファイルは にあります。p180~/.rvm/rubies/ruby-1.9.2-p290/lib

別のStackOverflow の投稿から、この行を .bashrc に追加することで回避できることがわかりました

export DYLD_LIBRARY_PATH="/Users/whk/.rvm/rubies/ruby-1.9.2-p290/lib:$DYLD_LIBRARY_PATH"

しかし、rvm ruby​​ のアップグレードが lib パスの変更を処理しない理由を理解したいですか? 誰もがよりクリーンなソリューションを知っていますか?それが構成されている場所からp180パスを削除するものですか?

ここに私の環境があります:

  • Mac OS X 10.6.6 (Snow Leopard)
  • rvm1.8.4
  • ルビー 1.9.2p290
  • レール 3.0.5

ありがとう!

4

1 に答える 1

0

the problem was in gems native extension - their were nto rebuild during rvm upgrade 1.9.2-p180 1.9.2-p290 - next time please have closer look on the output ... it should give your information what's wrong.

as for this particular use case it shoudl be enough to reinstall the given gem:

gem install serialport -v 1.0.4

... not sure if it should be uninstalled first

于 2012-02-03T21:09:17.700 に答える