在升級10.13.1版本后,遇到了一些影響開發(fā)的問題,記錄一下。
cocoapods無法使用
原因:
cocoapods無法使用的原因從命令行的錯誤提示可以發(fā)現(xiàn):找不到ruby解釋器了。為什么會這樣呢?mac系統(tǒng)本身自帶ruby解釋器,升級系統(tǒng)的同時,ruby解釋也升級了。在執(zhí)行cocoapods命令時,依然會按照原來的路徑去尋找解釋器,找不到也就不奇怪了。
解決辦法:
卸載重新安裝就可以了,此時再執(zhí)行cocoapods命令,就會按照新的路徑去尋找解釋器了。具體命令如下:
$ sudo gem uninstall cocoapods -v 1.2.0 (現(xiàn)有的版本)
$ sudo gem install cocoapods -v 1.3.1
如果安裝過程比較慢,可以切換下源,具體命令如下:
$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
$ gem sources -l
https://gems.ruby-china.org
# 確保只有 gems.ruby-china.org
pod.lock文件在pod操作后,添加了引號
加了多余的引號
這個問題,出現(xiàn)在新系統(tǒng)中,在和團(tuán)隊合作中,由于不同人的對pod.lock修改方式不一樣,需要不斷進(jìn)行pod操作。
關(guān)于這個問題,在cocoapods的github issue中有很多討論,暫時沒從這些討論中發(fā)現(xiàn)解決辦法。點擊查看github issue
在網(wǎng)上找到了一種解決辦法:
ruby更新到相同版本,提出這種解決方案的人通過該方案解決了問題;點擊查看詳情
我嘗試了這種方法,結(jié)果失敗了。最后,我通過升級到最新版本的cocoapods解決了我們團(tuán)隊遇到的問題。
rvm無法管理安裝其他版本ruby
在mac上,可以通過rvm管理多個版本的ruby,這和nvm管理node一樣。在升級后,由于mac加強(qiáng)了SIP安全相關(guān)的模式,它禁止讓軟件以 root 身份來在 Mac 上運行,在升級到 OS X 10.11 中或許你就會看到部分應(yīng)用程序被禁用了,這些或許是你通過終端或者第三方軟源安裝。
可以通過下面的步驟關(guān)閉該功能:
- 重啟 Mac,按住 Command+R 鍵直到 Apple logo 出現(xiàn),進(jìn)入 Recovery Mode
- 點擊 Utilities > Terminal
- 在 Terminal 中輸入
$ csrutil disable
,之后回車 - 重啟 Mac
重啟后,可以正常安裝其他版本ruby了,具體命令如下:
$ rvm install 2.2.0
$ rvm use 2.2.0 --default