CocoaPods的安装步骤和遇见的问题

// brew 安装cocoapods
brew reinstall cocoapods
brew link --overwrite cocoapods

// 没有查到适合系统的版本时会提示下边的安装指令
brew install --build-from-source cocoapods
brew reinstall --build-from-source cocoapods

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

// 卸载
sudo gem uninstall cocoapods -n /usr/local/bin

// 查询安装的依赖
gem list --local | grep cocoapods

// 卸载依赖
sudo gem uninstall cocoapods
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-trunk
sudo gem uninstall cocoapods-try

// 项目命令 clone的flutter在~/flutter/
cd shero/
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:~/flutter/bin
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
flutter create -t module --org SheroFlutter SheroFlutter
cd SheroFlutter
flutter pub get
cd ..
rm -rf Podfile.lock 
pod install


安装cocoapods

建议先更新下gem
sudo gem update --system

gem sources --remove https://rubygems.org/
// gem sources -a https://ruby.taobao.org/ 这个源也不行了
gem sources -a https://gems.ruby-china.org/
gem sources -l

// 新版本要有问题试试

//  sudo gem install cocoapods应该会提示下错误
// ERROR:  While executing gem ... (Errno::EPERM)   Operation not permitted - /usr/bin/update_rubygems
试试 gem update -n /usr/local/bin --system

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

pod repo list // 查看repo 列表
pod repo remove master   // 删除master

新版的 CocoaPods 不允许用pod repo add直接添加master库了,现在一般执行完pod repo add master  *** 之后又会提示[!] To setup the master specs repo, please run pod setup.但是依然可以:
// https://mirrors.tuna.tsinghua.edu.cn/help/CocoaPods/ 清华大学的CocoaPods 镜像
git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git ~/.cocoapods/repos/master
// 默认的 https://github.com/CocoaPods/Specs.git 
// 备用的 git://cocoapodscn.com/Specs.git

在自己工程的podFile第一行加上:刚刚替换的新repo
// source 'git://cocoapodscn.com/Specs.git'
source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'

// cd ~/.cocoapods然后下面指令    
// du -sh * 查看下载进度
// pod setup手动克隆就不要执行这个了,不然一会又要死循环了
pod --version

卸载CocoaPods
sudo gem uninstall cocoapods
/// 报错可以试试 sudo gem uninstall cocoapods -n /usr/local/bin

// brew 重装 cocoapods
brew reinstall cocoapods
brew link --overwrite cocoapods

// 清除本地的索引库
sudo rm -fr ~/.cocoapods/repos/master

pod setup执行慢的解决思路

cd ~/.cocoapods/repos
再 git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master1
删除 master1 中的.git 文件夹
移动 原有master 的.git 文件夹到master1文件夹(没有master就pod setup 一会再取消)
删除master
重命名master1为master


查找框架
pod search AFNetworking

// 工程目录下创建Podfile
pod init 自动创建Podfile //手动 touch Podfile

// 内容格式
platform :ios, "8.0"        8.0代表兼容的ios版本 不指定会用最新的框架
pod 'SVProgressHUD'         框架名用'' 或者""都行  
pod 'JSONKit', '~> 1.4'     不指定版本,默认下载最新版
#使用本地文件
pod 'AFNetworking', :path => '~/Documents/AFNetworking'
#使用仓库中的master分支(使用默认仓库地址时可以不用指定:git)
pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git'
#使用仓库的其他分支(使用默认仓库地址时可以不用指定:git)
pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :branch => 'dev'
#使用仓库的某个tag(使用默认仓库地址时可以不用指定:git)
pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :tag => '0.7.0'
#指定一个提交记录(使用默认仓库地址时可以不用指定:git)
pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :commit => '082f8319af'

初次下载使用
pod install --no-repo-update

修改后更新用(如果不加--no-repo-update会更新依赖库到最新版本)
pod update --no-repo-update 也可以pod install 不会更新本地

更新本地框架库
pod repo update
pod repo update --verbose 可以查看详细信息

不集成到工程,只下载
pod install --no-integrate

可以查看详细信息,看看卡到哪一步了,下载速度之类
pod install --verbose

用gem查看pods的版本有哪些
gem list

安装指定版本
sudo gem install -n /usr/local/bin cocoapods -v (版本号)

安装最新版本
sudo gem install -n /usr/local/bin cocoapods --pre

移除当前的pod版本
sudo gem uninstall cocoapods -v (移除的版本号)
/// 报错可以试试 sudo gem uninstall cocoapods -n /usr/local/bin

查看本地安装过的cocopods相关东西
gem list --local | grep cocoapods
然后使用命令逐个删除
sudo gem uninstall ****
--pod install 报错: can't find gem cocoapods (>= 0.a) with executable pod (Gem::GemNotFoundException)
Traceback (most recent call last):
    2: from /usr/local/bin/pod:23:in `<main>'
    1: from /Library/Ruby/Site/2.6.0/rubygems.rb:294:in `activate_bin_path'
/Library/Ruby/Site/2.6.0/rubygems.rb:275:in `find_spec_for_exe': can't find gem cocoapods (>= 0.a) with executable pod (Gem::GemNotFoundException)
重新安装 ruby 环境(默认安装最新版本)
 rvm reinstall ruby --disable-binary

在安装最新版本cocoapods
sudo gem install -n /usr/local/bin cocoapods --pre

1. Ignoring bigdecimal-1.3.5 because its extensions are not built. Try: gem pristine bigdecimal --version 1.3.5

gem uninstall bigdecimal
gem install bigdecimal
或者
sudo gem install bigdecimal -v 1.3.5

2. kernel_require.rb:54:in `require': incompatible library version - /Users/shmily/.rvm/gems/ruby-2.3.0/gems/psych-3.0.2/lib/psych.bundle (fatal)

 sudo gem uninstall  psych
 sudo gem install  psych

1. 如果提示关于gem的东西找不到:
sudo gem uninstall --all
sudo gem install cocoapods

2. brew update失败可以用 /usr/local/bin/brew update --force


3. 执行sudo gem install cocoapods的时候提示错误
ERROR:  SSL verification error at depth 1: unable to get local issuer certificate (20)
ERROR:  You must add /C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Certification Authority to your local trusted store
ERROR:  SSL verification error at depth 2: self signed certificate in certificate chain (19)
ERROR:  Root certificate is not trusted (/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA)

其实只要是使用gem的都会又ssl证书问题。 下面说下用的新路径
gem sources --remove https://ruby.taobao.org/
gem sources -a https://gems.ruby-china.com
// 备用 http://rubygems-china.oss.aliyuncs.com
gem sources -l

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

然后就会执行成功了,不过此刻会卡住,其实是在下载文件,你可以用下面的方法查看下载的文件大小。
cd ~/.cocoapods/
du -sh *
到此就可以说是解决了这个问题了。

4. [!] Unable to find a pod with name, author, summary, or description matching `AFNetworking`
解决:rm ~/Library/Caches/CocoaPods/search_index.json

5. [!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progress
Cloning into 'master'...
fatal: unable to access 'https://github.com/CocoaPods/Specs.git/': LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 60
重新设置代理 git config --global http.proxy 
取消代理 git config --global --unset http.proxy
然后在pod setup

6. $ /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progress
  Cloning into 'master'...
  fatal: unable to access 'https://github.com/CocoaPods/Specs.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443 
把翻墙软件关了再试试

7.   $ /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progress
  Cloning into 'master'...
  fatal: unable to access 'https://github.com/CocoaPods/Specs.git/': LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
进工程里面 pod install

8.   $ /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progress
  Cloning into 'master'...
  fatal: unable to access 'https://github.com/CocoaPods/Specs.git/': LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master`.
You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`.

先添加repo,pod repo add master https://github.com/CocoaPods/Specs.git
提示后提示执行’pod setup’,执行 sudo rm -fr ~/.cocoapods/repos/master
在 pod setup

9. error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 60
设置 git config --global http.postBuffer 524288000 或者更大114288000

10. pod install 时出现
[!] Error installing *****
[!] /usr/bin/git clone https://github.com/rs/SDWebImage.git /var/folders/8z/_9cm1zvj7q738hyzp1gr4wr00000gr/T/d20180725-49499-1u9kd9 --template= --single-branch --depth 1 --branch 3.7.6

Cloning into '/var/folders/8z/_9cm1zvj7q738hyzp1gr4wr00000gr/T/d20180725-49499-1u9kd9'...
error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: unpack-objects failed
1.创建临时环境变量:env GIT_SSL_NO_VERIFY=true git clone ...
2.用git自带的配置命令:git config --global http.sslVerify false  

11. 加快git clone 几十倍速度的小方法
修改host文件: /etc/hosts
151.101.72.249 github.global.ssl.fastly.net  
192.30.253.112 github.com

1.解决CocoaPods各种慢的方案(gem换源+pod repo换源)
2.安装cocopods遇到新问题
3.cocoapods安装好后repo换源

库索引目录
cd ~/.cocoapods/repos/master/Specs
find * -name 'hermes-engine'
find * -name 'YogaKit'
find * -name 'glog'
库名字md5的前三位 是库所在的子文件夹路径
echo -n "glog"|md5
echo -n "hermes-engine"|md5

库缓存目录
~/Library/Caches/CocoaPods/Pods/Specs/Release
~/Library/Caches/CocoaPods/Pods/Release

针对于 Release 库的名字规则 aaaaa = shasum -a 1 json文件
~/Library/Caches/CocoaPods/Pods/Release/三方库/版本号-aaaaa.podspec.json

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,009评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,808评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,891评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,283评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,285评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,409评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,809评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,487评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,680评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,499评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,548评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,268评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,815评论 3 304
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,872评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,102评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,683评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,253评论 2 341

推荐阅读更多精彩内容