今天将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
的升级,所以我们的最终解决方案如下:
- 先升级
homebrew
, 按照官网:homebrew 执行如下命令:
- 先升级
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 重新安装ruby环境
brew install ruby
- 重新安装cocoapods
sudo gem install cocoapods
通过以上步骤,不出意外的话,就可以解决刚才报错的那个问题。
网友评论