我在 iOS 5.1.1 上遇到 Ruby 问题。任何 gem
命令都会失败。如果我尝试 gem 更新
:
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 的人有关。
最佳答案
我遇到了同样的问题。删除(重命名)socket.bundle 不出所料地产生了以下结果:
ERROR: Loading command: update (LoadError)
no such file to load -- socket.so
ERROR: While executing gem ... (NameError)
uninitialized constant Gem::Commands::UpdateCommand
编辑:通过从 ruby 1.9.2-p0-10 降级到 ruby 1.9.1-p429-6,我能够让 gem update
成功运行。使用 1.9.2 时,仍然有对 1.9.1 的引用似乎导致了上述错误。
关于iphone - '惰性符号绑定(bind)失败 : Symbol not found: __OSSwapInt16' on jailbroken iPhone when using gem commands,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12043368/