[Cocoapods]电脑系统升级后pod指令失效

每次系统升级,都是一个坑

macOS High Sierra 10.13.2

系统版本: macOS High Sierra 10.13.2
Xcode: 9.2

最近一次使用pod指令来执行操作的时候, 输出下面这句话:

-bash: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter: No such file or directory

突然之前, pod指令识别不了了, 第一反应是pod需要重新安装了, 然后执行下面的指令去安装:

sudo gem install cocoapods

却没有安装成功:

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

找了一些资料, 尝试了一些方法, 依然没能解决这个问题, 查看当前的源:

$ gem sources -l
*** CURRENT SOURCES ***

https://ruby.taobao.org/

和当前的ruby版本:

$ ruby -v
ruby 2.3.3p222 (2016-11-21 revision 56859) [universal.x86_64-darwin17]

貌似都没有问题, 但就是安装不了CocoaPods, 然后执行下面的指令, 升级一下gem:

$ sudo gem update --system

查看最新的gem版本:

$ gem -v
2.6.14

然后再去安装CocoaPods:

$ sudo gem install cocoapods
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /usr/bin directory.

依然是失败, 有的文章说是权限的问题, 但是已经加上sudo, 依然是不行; 最后看到一个说是使用 homebrew 再装一个 ruby.

解决方法:

使用 homebrew首页的指令:

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

安装成功后, 执行下面的指令来安装ruby:

$ brew install ruby

完成后, 再来安装CocoaPods:

$ sudo gem install cocoapods

这样就能成功安装了, pod即可恢复正常!!!

macOS Catalina 10.15

在使用 macOS 10.15 时,Cocoapods 再次失效,使用上面方法重新安装,依然没有解决问题:

cocoapods bad interpreter: No such file or directory

查了相关资料,说是需要升级 gem 版本,使用下面指令升级gem:

$ sudo gem update --system

这时又报了下面的错误:

SSL verification error at depth 0: certificate has expired (10)

继续查找资料,了解到是 淘宝的Ruby源不能使用,使用 ruby-china的源进行替换:

// 移除淘宝的源
gem sources --remove https://ruby.taobao.org/

// 添加ruby-china的源
gem sources -a https://gems.ruby-china.com/

完成后,再去升级 gem:

sudo gem update --system

无异常的话会输出:

Latest version already installed. Done.

最后,安装 Cocoapods:

sudo gem install cocoapods -n/usr/local/bin

到此,pod 即可正常使用。

macOS Catalina 10.15: pod install/update 失效

在新版系统中,pod环境没问题,使用 pod 可以正常看到指令输出,其他指令都能正常执行;但是在使用 pod install/update 下载第三方库的时候,一直报下面的错误:

[!] Couldn't determine repo type for URL: `https://cdn.cocoapods.org/`: Net::OpenTimeout

可以肯定的是本地的 repos 库出现了问题,但是尝试了很多方法都没能解决,最后使用清华的镜像解决了,下面是官方提供的添加方法:

$ cd ~/.cocoapods/repos 
$ pod repo remove master
$ git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master

最后进入自己的工程,在自己工程的podFile第一行加上:

source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一次安装CocoaPods也遇到了一些坑,但是 那个时候时间比较紧,没有抽出时间整理,最近因为电脑还原从新做了系...
    幸福的尾巴__阅读 8,373评论 7 9
  • 最近很累,不光是最近,感觉从2015年到现在一直都很累,各种烦心事总能让我遇到:辞职,找工作,创业,再到感情方面。...
    我夏了夏天阅读 283评论 0 0
  • 果果最近很喜欢说:“妈妈,你谢谢果果了吗?”他要开门、开锁、刷门禁,或者帮妈妈什么忙,他立马就会说这句话,当麻麻说...
    陈龙英阅读 255评论 0 0