我在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设备上使用宝石的人有关。
答案 0 :(得分: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
编辑:我能够通过将ruby 1.9.2-p0-10降级为ruby 1.9.1-p429-6来成功运行gem update
。当使用1.9.2时,仍有对1.9.1的引用似乎导致了上述错误。