最近升级完Mac OS X 后,执行pod命令,出现错误信息
-bash: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter: No such file or directory
在调研和解决问题的过程中可能会遇到如下的两种情况:
可能遇到的问题一:
尝试重新安装cocoapods时出现一连串莫名其妙的error,好像陷入了死循环:
ruby版本低 -> 开始更新ruby -> 开始更新gem……
究其原因是ruby的版本问题,推荐大家使用 rvm:
rvm是什么?rvm可以让你拥有多个版本的Ruby,并且可以在多个版本之间自由切换。
第一步:安装rvm
$ curl -L get.rvm.io | bash -s stable
$ source ~/.rvm/scripts/rvm
等待终端加载完毕后输入:
$ rvm -v
如果能显示版本则安装成功。
第二步:安装ruby(cocoapods需要2.2.0以上的噢)
列出ruby可安装的版本信息
$ rvm list known
安装一个ruby版本
$ rvm install 2.3.3
如果想设置为默认版本,可以用这条命令来完成
$ rvm use 2.3.3 --default
查看已安装的ruby
$ rvm list
如果想卸载一个已安装的ruby版本,可使用如下命令
$ rvm remove 2.3.3
第三步:更换源
查看已有的源
$ gem source -l
显示会如下:
* CURRENT SOURCES *
https://ruby.taobao.org/
http://gems.ruby-china.org/
备注:
如果有需要可以更换源,切换至淘宝镜像服务器
在终端执行以下命令
$ gem update --system
$ gem uninstall ruby gems -update
$ gem sources -r http://rubygems.org/
$ gem sources -a https://ruby.taobao.org
第四步:
安装好ruby,更新完gem后,就可以执行安装cocoapods
$ sudo gem install cocoapods
$ pod setup
备注:
mac osx 10.11 之后,安装cocoapods可以使用下面的命令行
$ sudo gem install -n /usr/local/bin cocoapods --pre //安装最新版本
$ sudo gem install -n /usr/local/bin cocoapods -v <version> //安装指定的 version
可能遇到的问题二
重装 pod 即可
$ sudo gem uninstall cocoapods
$ sudo gem install -n /usr/local/bin cocoapods
如果执行过程中出现如下错误
ERROR: While executing gem ... (TypeError)
no implicit conversion of nil into String
可通过更新 gem 来解决
$ sudo gem update —system
备注:
如果更新gem时出现错误,可尝试打开一个新的terminal重新执行命令