Xcode升级导致cocoapods无法使用

2018-04-03  本文已影响220人  langkee

今天将Xcode升级到了9.3, 升级前是9.2版本,然后在使用cocoapods的过程中就出现了让我甚是迷惑的情况:cocoapods根本无法使用,当我直接使用pod init来初始化一个工程的时候,直接报错如下:

➜  app pod init
zsh: /usr/local/bin/pod: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin: no such file or directory

除上错误之外,所有与cocoapods相关的命令都无法使用,在网上查找资料发现,大多数文章说直接从新安装cocoapods即可完事,即做如下操作:

➜  ~ sudo gem install cocoapods

事实上,还是无法解决所遇到的问题,又报错如下:

Password:
ERROR:  While executing gem ... (TypeError)
    no implicit conversion of nil into String

也就是说,重装cocoapods还是无法解决问题, 我个人的想法是:既然Xcode从9.2升级到9.3, 那是不是也意味着我的系统也要随着Xcode的升级而升级,当前我的系统是10.13.3,于是我对系统进行升级到了最新版本10.13.4, 但是依旧不能解决任何问题。

然后,我们回过头来看一下使用pod命令报的错误:

zsh: /usr/local/bin/pod: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin: no such file or directory

从上面仔细观察的话我们可以看到,主要问题还是在于ruby环境出现了问题,具体出现了什么问题,我也不知道(有兴趣的朋友可以自行去研究研究),但我猜测的是,应该是Xcode的升级导致其需要更加严格和高效的ruby环境的支持,所以要想继续使用pod, 就必然先要对ruby升级,而ruby环境的升级依赖于homebrew的升级,所以我们的最终解决方案如下:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install ruby
sudo gem install cocoapods

通过以上步骤,不出意外的话,就可以解决刚才报错的那个问题。

上一篇 下一篇

猜你喜欢

热点阅读