ideviceinstaller报Segmentation fault: 11错误解决过程

背景:今天在另外一台电脑上安装appium,这台电脑是别人用过的,上面已经装了很多工具,遇到了ideviceinstaller报错的问题,搞了几乎一天,记录一下解决的过程。

由于ideviceinstaller是appium  1.4  ios自动化的必备工具,于是用brew install ideviceinstaller安装了ideviceinstaller,恶梦从此开始。

然后就是用appium跑ios脚本的时候提示ideviceinstaller错误,于是单独用ideviceinstaller命令来检查,发现ideviceinstaller –l提示Segmentation fault: 11的错误,我们知道Segmentation fault一般是C++内存的错误,这里怎么会报错?

首先想到的办法是重装ideviceinstaller,但是,无论先uninstall再install还是reinstall,错误都是依旧。于是百度查找问题的根源,果然,这种冷门的问题度娘十分不给力,完全不知道我想搜什么。于是找google,google搜到在github有一个讨论,讨论的就是这个问题,地址是:

https://github.com/libimobiledevice/ideviceinstaller/issues/4

还一个讨论

https://github.com/libimobiledevice/ideviceinstaller/issues/15

看了这两个讨论,有人建议

brew uninstall ideviceinstaller

brew install --HEAD ideviceinstaller

但是这个方法对我没用,依然报同样的错误,这时我几乎已经绝望了。休息了一下,看了看大跌的股市,静下心来重新找问题的根源,再次google,再次去看github上的讨论。发现有人提到可能是Home Brew的问题,我的brew是什么时候安装的,完成记不起来了,细想才发现brew是电脑上原来就安好的,因为我用的是旧的imac。于是把原来的brew完全卸载,还不放心,再把usr/bin下面的brew用rm –f删除,然后根据官网brew.sh重新安装brew。安好brew后再brew install ideviceinstaller,终于,问题解决了。

回想起来,为什么花了这么长时间才找到问题的根本?因为一开始就找错了方向,因为ideviceinstaller报错,所以一直在找ideviceinstaller的原因。根本原因可能是老版本的brew安新版本的ideviceinstaller会出问题,所以升级一下brew或者重新安装新版本的brew问题就解决了。

posted @ 2015-07-02 20:09 lishuai0214 阅读(...) 评论(...) 编辑 收藏