4

Ruby on iOS 5.1.1 で問題が発生しています。どのgemコマンドも失敗します。私がしようとするとgem update

mobile$ gem update

Updating installed gems
dyld: lazy symbol binding failed: Symbol not found: __OSSwapInt16 Referenced from: /usr/lib/ruby/1.9.1/arm-darwin9/socket.bundle
Expected in: flat namespace

dyld: Symbol not found: __OSSwapInt16
Referenced from: /usr/lib/ruby/1.9.1/arm-darwin9/socket.bundle
Expected in: flat namespace

Trace/BPT trap: 5

興味深いのはruby -v、1.9.2 を示しています。

mobile$ ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [arm-darwin9]

修正方法に関するアイデアはありますか?Cydia経由でRubyパッケージを削除して再インストールしようとしましたが、同じです。これは、私と同じように iOS デバイスで gem を使用しようとしている人に関係があるかもしれないと考えました。

4

1 に答える 1

1

私は同じ問題を抱えています。socket.bundle を削除 (名前変更) すると、当然のことながら次の結果が得られました。

    ERROR:  Loading command: update (LoadError)
        no such file to load -- socket.so
    ERROR:  While executing gem ... (NameError)
        uninitialized constant Gem::Commands::UpdateCommand

編集: gem updateruby​​ 1.9.2-p0-10 から ruby​​ 1.9.1-p429-6 にダウングレードすることで、正常に実行できました。1.9.2 を使用している場合、上記のエラーを引き起こしていると思われる 1.9.1 への参照がまだありました。

于 2013-01-11T03:40:56.970 に答える