起因
今天打開xcode想要開始繼續(xù)寫項(xiàng)目的時(shí)候悲劇了.
Loading a plug-in failed. The plug-in or one of its prerequisite plug-ins may be missing or damaged and may need to be reinstalled.
嘗試用終端打開看看報(bào)錯(cuò)信息
open/Applications/Xcode.app/Contents/MacOS/Xcode
報(bào)錯(cuò)詳情
/Applications/Xcode8.app/Contents/PlugIns/DebuggerLLDB.ideplugin), error = Error Domain=NSCocoaErrorDomain Code=3587 "dlopen_preflight(/Applications/Xcode8b.app/Contents/PlugIns/DebuggerLLDB.ideplugin/Contents/MacOS/DebuggerLLDB): Library not loaded: /System/Library/Frameworks/Python.framework/Versions/2.7/PythonReferencedfrom:/Applications/Xcode8.app/Contents/SharedFrameworks/LLDB.framework/Versions/A/LLDBReason:no suitable image found. Didfind:/System/Library/Frameworks/Python.framework/Versions/2.7/Python:code signing blocked mmap
嘗試
想都沒想,肯定是昨晚在升級(jí)python的時(shí)候 刪掉了舊版的python2.7導(dǎo)致的. 于是去python官網(wǎng)下載了python2.7.13,安裝配置之后還是沒用.查了一下macOS10.12原始版本是2.7.10,下載安裝之后還是沒用.
探索
然后google一下 在StackOverflow找到也有個(gè)哥們遇到相同問題.
于是用他說的方法下在系統(tǒng)鏡像去里面找找原版.當(dāng)時(shí)在/system/library/Framework/文件夾下自由系統(tǒng)相關(guān)的庫(kù),到是有一個(gè)installation文件夾,里面有一些安裝包,由于安裝包太大(4G),他也沒說在系統(tǒng)那個(gè)目錄下,放棄嘗試. 我陷入了沉思,問下了技術(shù)交流群,有人說重裝xcode,我覺得不行,這并不是xcode本身的為題,而是擴(kuò)展庫(kù)出錯(cuò).
醒悟
難道apple提供的python和python官網(wǎng)下載的不一樣?帶著這個(gè)疑問查看了一下目錄結(jié)構(gòu)果然.
macOS自帶多了幾個(gè)文件夾:_CodeSignature,Extras等猜測(cè)應(yīng)該是用來打包簽名用的,這也就解釋了報(bào)錯(cuò)code signing blocked mmap的原因
成功恢復(fù)
現(xiàn)在要去哪里找原版呢,之前是直接rm -f刪掉的沒有后悔藥,還好有做TimeMachine備份,終于在備份盤中找到原版python2.7,成功恢復(fù).
總結(jié):假如你需要修改系統(tǒng)庫(kù)或者環(huán)境變量是一定要做好備份,筆記記好還原步驟.突然有一種想法:apple在macOS中內(nèi)置python,可能是因?yàn)槠渌浖?huì)依賴他,那ruby呢會(huì)不會(huì)也有一些功能是依賴它實(shí)現(xiàn)的呢,可以研究一下.