1.更新Mac系统后,pod search报错
更新系统后,使用pod search 有时候会出现如下的错。我是在搜索mj
这时候我们可以直接执行pod repo remove trunk移除trunk源,pod search大概率就能正常了!这个问题的原因大致就是本地trunk的问题。
但是再这样之后我们会遇到下面的问题
这个问题就很好解决了 在1.8.0之前的版本中我们直接pod setup但是在1.8.0之后 就没有用了。
我之前pod setup好多次没用,后来就直接pod init一个文件后,在里面添加一个常用的pod库,pod install 一下就会自动把trunk库更新到本地.
如果仍然解决不了,就是出现CDN访问的bug。我在GitHub上也提了一个issue,但是没有找到合理的解决方法。
现在找到一个解决方法。它这里的解决方法就是在.cocoapods文件夹中下载了master文件,直接使用这个进行search。如果使用这个的话因为本地已经有文件了,所以搜索起来会很快。但是在pod install时会出现问题。如果不指定source源,它就会自己下载trunk,仍然会是使用cdn安装。但是更改了source后如果是多人开发就会比较麻烦。
现在我的做法是search的时候先移除本地trunk,使用本地master进行搜索。等install的时候就使用cdn安装。虽然麻烦一点,但是不会修改podfile文件。
######## 2020.3 解决方案 #######
在遇到cdn问题时我们可以使用如下方案,一般来说是能解决的
1.切换成数据网,如果是网络问题一般是可以解决的。如果不行请换下一个方法。
2.FQ,现在各种FQ软件和账号你都可以找到,可以尝试一下FQ。如果不行请换下一个方法。
3.在终端中输入如下命令。下面的命令是用来修改代理的。
export http_proxy=http://127.0.0.1:1087 export https_proxy=http://127.0.0.1:1087
如果只是在终端中输入会仅在此次终端中生效,如果想要一直生效就要修改配置文件了。
使用此方法后一般来就可以解决的
4.如果还不行就可以1+2或者1+3来解决,我近期遇到的这些问题都是这样解决的
2.卸载cocoapods
首先卸载cocoapods我们可以使用如下的代码
sudo gem uninstall cocoapods
但是有时候会出现下面的错误。
Error: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.
这时候我们就需要使用这一条语句了。
sudo gem uninstall -n /usr/local/bin cocoapods
接下来就是查看本地安装过得cocoapods相关资源
gem list --local | grep cocoapods
cocoapods-core (1.8.4) cocoapods-deintegrate (1.0.4) cocoapods-downloader (1.2.2) cocoapods-plugins (1.0.0) cocoapods-search (1.0.0) cocoapods-stats (1.1.0) cocoapods-trunk (1.4.1) cocoapods-try (1.1.0) 这些事我检索出来的文件,接下来就是一一删除。
sudo gem uninstall cocoapods-core sudo gem uninstall cocoapods-deintegrate sudo gem uninstall cocoapods-downloader sudo gem uninstall cocoapods-plugins sudo gem uninstall cocoapods-search sudo gem uninstall cocoapods-stats sudo gem uninstall cocoapods-trunk sudo gem uninstall cocoapods-try
这样也就彻底卸载了cocoapods
3.升级cocoapods
第一步升级gem:sudo gem update -n /usr/local/bin --system 第二步执行安装操作:sudo gem install -n /usr/local/bin cocoapods
4.删除本地文件
pod repo remove trunk
5.更新本地索引库
pod repo update
6.CocoaPods could not find compatible versions for pod "xxx": In snapshot (Podfile.lock):
解决方法:方法一:把.xcworkspace和Podfile.lock文件删除,重新pod install一下就好了!
如果还是不行就看看 Podfile 里最上面, platform :ios , '7.0', 是不是和三方库中一致,如果不一致 ,设置成目前工程里设置的 Deployment Target 一样就可以了。