4

我在 iOS 5.1.1 上遇到了 Ruby 的问题。任何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 设备上使用 gems 的人有关。

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 update编辑:通过从 ruby​​ 1.9.2-p0-10 降级到 ruby​​ 1.9.1-p429-6,我能够成功运行。使用 1.9.2 时,仍然有对 1.9.1 的引用似乎导致了上述错误。

于 2013-01-11T03:40:56.970 回答