OS X更新macOS10.13后执行pod出错记录

500 阅读1分钟

最近升级完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重新执行命令