您的位置:首页 > 其它

解决 CocoaPods was not able to update the `master` repo

2017-09-30 12:25 441 查看
pod update一直出错:

CocoaPods was not able to update the `master` repo

确定了不是网络问题,后面解决了

总结一下,是因为 pod 的版本太旧了,

gem sources -l //查看源头,显示的是https://gems.ruby-china.org/

//我直接翻 xx 墙,所以我改为原来的

gem sources --remove https://gems.ruby-china.org/   //删掉现有的

gem sources -a https://rubygems.org/  //加入原版的

gem sources -l //查看源头,显示的是https://rubygems.org/

pod --version  //查看cocoapods版本 返回1.1.1

gem update cocoapods

pod --version // 查看cocoapods版本返回1.3.1

pod update --verbose 在项目的 podFile 所在的目录下更新 pod,成功了

参照这个网页 http://www.jianshu.com/p/e2806f9d9e6f

CocoaPods使用总结

安装准备:

在终端中操作,首先通过3和4检查ruby源和版本

移除现有Ruby默认源
gem sources --remove https://rubygems.org/[/code] 
使用新的源
gem sources -a https://gems.ruby-china.org/[/code] 
"https://ruby.taobao.org/" 不能用了

验证新源是否替换成功
gem sources -l


检查 gem 版本号
sudo gem -v


升级gem
sudo gem update —system


安装CocoaPods

(1)
sudo gem install -n /usr/local/bin cocoapods


输入电脑密码, 回车等待.

(2)
pod setup


需要一段时间.

如果安装失败 ~/.cocoapods 里面是空的,就需要重新setup.

命令如下:
pod repo remove master

pod setup


如果安装成功,~/.cocoapods下文件夹会有几百M.

更新CocoaPods版本:

sudo gem update cocoapods


查看版本:
pod --version


CocoaPods使用:

搜索三方库:
pod search 库名


添加三方库:

在终端cd到工程文件夹内,新建文件 “Podfile”, 下边(1)和(2)任选其一:

1).
vim Podfile


写入2)的内容并保存.

提示: 终端vim文件按 i 可编辑 , esc 退出编辑, : wq 可保存退出

2).
pod init


然后在Xcode中打开podfile文件,如果用TextEdit打开修改Podfile, pod install后会报警告:

[!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.

里面的样式如下:

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0' -->最低支持的系统版本

target 'targetName' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!

# Pods for sync
pod 'AFNetworking'
end

2.导入第三方库
pod update
(比较慢)

或者
pod install


或者
pod update --no-repo-update


如果不想在pod update的时候升级repo库 ,可以忽略掉,使用
pod update --no-repo-update
,比较快, 但是如果github上pods的三方库有新版本了,你本地搜索到的还是旧版本,新版本是无法装配的,所以每隔一段时间最好执行一下
pod repo update

--verbose
是打印详细信息.

出现
Setting up CocoaPods master repo
,cd 到~/.cocoapods,如果repos文件夹大小一直没有变化, 因为墙阻挡了cocoapods.org。

oschina是国内的服务器, 可以用它们CocoaPods索引库的镜像:

pod repo remove master

pod repo add master http://git.oschina.net/akuandev/Specs.git[/code] 
pod repo update


第二条命令执行的时候会比较耗时,要去把整个specs仓库clone一下,下载到 ~/.cocoapods里, cd 到~/.cocoapods,

du -sh *
命令来查看文件大小,需要等待一段时间,这个目录最终大小是几百M,每个CocoaPods版本不同。

删除三方库:

在Podfile文件, 删除想要删除的三方库(或者前面加#注释掉),然后终端执行
pod install
pod update


删除一些三方库后编译可能会报错: library not found for -l库名,解决:

在Build Settings中搜索Other Linker Flags,去掉-l"库名"。

(有时不管用,应该是cocoapods的版本问题)

导入三方库报错:

[!] CocoaPods was not able to update the `master` repo. If this is an unexpected issue and persists you can inspect it running `pod repo update --verbose`


尝试解决:
尝试1: 根据提示,跑一下
pod repo update --verbose


尝试2:如果还是出现原来问题,升级CocoaPods版本
sudo gem update cocoa pods


尝试3:如果升级还是出现原来的问题,那么重装CocoaPods .

首先查看本地装了关于cocoapods的哪些东西,在终端输入
gem list --local | grep cocoapods

接着全部卸掉
sudo gem uninstall cocoapods

再安装
sudo gem install cocoapods

尝试4:如果问题依旧,那么清除缓存,清除命令:

sudo rm -fr ~/Library/Caches/CocoaPods/

sudo rm -fr ~/.cocoapods/repos/master

pod setup

还不行的话就把当前 Pods 目录清空:

sudo rm -fr Pods/

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

pod setup


看看还有没有报错.

CocoaPods的使用补充:

使用CocoaPods来添加第三方类库, 无论是执行
pod install
还是
pod update
, 如果都卡在了
Analyzing dependencies
不动, 原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库, 加一个参数可以省略这一步, 命令如下:

pod install --verbose --no-repo-update

pod update --verbose --no-repo-update


pod install
只会按照Podfile的要求来请求类库,如果类库版本号有变化,那么将获取失败。 但是
pod update
会更新所有的类库,获取最新版本的类库。平时一般使用
pod update --no-repo-update
更新,定期使用
pod update
更新.

Cocoapods降低版本及卸载

一. 移除pod组件

1.这条指令会告诉你Cocoapods组件装在哪里 :
which pod


2.你可以手动移除这个组件 :
sudo rm -rf 路径


二. 移除 RubyGems 中的 Cocoapods程序包

Q: RubyGems是什么?

A: RubyGems(简称 gems)是一个用于对 Ruby组件进行打包的 Ruby 打包系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。

1.查看gems中本地程序包
gem list


2.移除程序包
sudo gem uninstall cocoapods -v 要移除的版本号


3.安装指定版本的Cocoapods
sudo gem install cocoapods -v 要安装的版本号


唐巧博客

作者:大象豆豆

链接:http://www.jianshu.com/p/e2806f9d9e6f

來源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐