CocoaPods
<#这个不是命令,包括尖括号#>
Dream.png一、源设置
- 查看源,终端输入:
sudo gem sources -l
- 删除已有的源,如:
sudo gem sources --remove https://rubygems.org/
- 添加淘宝镜像,如:
sudo gem sources -a https://ruby.taobao.org/
<# 可能改为https://gems.ruby-china.org/ #> - 看是否真的添加上:
sudo gem sources -l
- 若出现 https://ruby.taobao.org/ (或https://gems.ruby-china.org/) 则添加成功
二、防错误----没错误这个步骤二忽略
- 升级gem:
sudo gem update --system
- 删除缓存 ,防止出现undefined method 'size' for nil :NilClass(No MethodError)
2.1 查看gem环境:gem env
2.2 找到GEM PATHS 如显示:
\- GEM PATHS:
\- /usr/local/ruby/lib/ruby/gems/2.1.0
\- /home/vagrant/.gem/ruby/2.1.0
2.3 分别进入下面的目录,如:
cd /usr/local/ruby/lib/ruby/gems/2.1.0
cd /home/vagrant/.gem/ruby/2.1.0
2.4 删除cache 如: rm -rf cache
- 回到用户目录:
cd ~
执行sudo gem install cocoapods出现错误:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
解决办法: 自定义GEM_HOME
命令行操作:
$ mkdir -p $HOME/Software/ruby
$ export GEM_HOME=$HOME/Software/ruby
$ gem install cocoapods
出现 1 gem installed
$ sudo gem install -n /usr/local/bin cocoapods
$ export PATH=$PATH:$HOME/Sofware/ruby/bin
$ pod --version
出现版本号,例如0.39.0
三、安装cocoaPods
1 sudo gem install xcodeproj
2 sudo gem install cocoapods
(也可以brew install cocoapods)
3 pod setup
如果出现错误
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master
Cloning into'master'...
error: RPC failed; curl56SSLRead()returnerror -36
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
方案:
终端输入 sudo xcode-select --print-path
查看Xcode路径
然后复制路径,执行 sudo xcode-select -switch 路径
如: sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
执行 sudo rm -fr ~/.cocoapods/repos/master
删除repos目录下master
再执行 pod setup
出现
Cloning into 'master'...
error: RPC failed; curl 56 SSLRead() return error -9806
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
方案:
终端依次执行
$ brew remove git
$ brew remove curl
$ brew install openssl
$ brew install --with-openssl curl
$ brew install --with-brewed-curl --with-brewed-openssl git
4 pod init
(失败可忽略)
四、使用cocoaPods
1 进入工程目录 cd <#空格后面拖进来工程文件夹#>
2 建立Podfile: touch Podfile <#名字就是Podfile,不能自定义,建立命令也可以用vim#>
3 搜索三方库,同时看是否支持该库:
pod search AFNetworking
<#前几行找,把pod ‘AFNetworking’, ‘~>2.5.3’复制#>
4 打开Podfile: open -e Podfile
<#命令也可以用vim#>
5 将上面赋值的内容粘贴进来,Podfile格式如下
platform :ios, '9.3'
pod 'AFNetworking', '~> 2.6.3'
6 执行 pod install
不需要遍历所有 pod install 换成 pod install --verbose --no-repo-update
7 需要更新三方才用此步骤,更新 pod update --verbose --no-repo-update
附
- Podfile
=begin
这里写注释
=end
platform :ios, '8.0'
pod 'AFNetworking', '~> 3.1.0'
pod 'Masonry', '~> 1.0.0'
pod 'SVProgressHUD', '~> 2.0.3'
pod 'SDWebImage', '~> 3.7.5'
=begin
可以这样写
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
inhibit_all_warnings!
xcodeproj 'Demo.xcodeproj'
target :Demo1 do
pod 'Masonry', '~> 1.0.0'
pod 'MBProgressHUD', '~> 0.9.2'
pod 'iCarousel', '~> 1.8.2'
pod 'MJRefresh', '~> 3.1.0'
pod 'MJExtension', '~> 3.0.10'
pod 'AFNetworking', '~> 3.1.0'
pod 'SDWebImage', '~> 3.7.5'
pod 'SVProgressHUD', '~> 2.0.3'
pod 'FMDB', '~> 2.6.2'
end
target :Demo2 do
pod 'MBProgressHUD', '~> 0.9.2'
end
=end
=begin
touch Podfile 建立Podfile文件
open -e Podfile 文本编辑打开Podfile文件
pod install --verbose --no-repo-update 不遍历所有库
=end
-
出现错误 Unable to convert Ruby value `"AFNetworking"' into a CFTypeRef
这是ruby本身bug,升级版本即可
参考答案
重新安装CocoaPods
- 1.卸载
移除组件
cocoapods组件位置 which pod
手动移除组件 sudo rm -rf <path>
移除 RubyGems 中的 Cocoapods程序包
RubyGems(简称 gems)是一个用于对 Ruby组件进行打包的 Ruby 打包系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。
查看gems中本地程序包 gem list
或者 gem list --local | grep cocoapods
查看cocoapods相关
移除相关
sudo gem uninstall cocoapods -v <版本号>
sudo gem uninstall cocoapods-core
sudo gem uninstall cocoapods-deintegrate
卸载RVM sudo rm -rf .rvm .rvmrc /etc/rvmrc ;gem uninstall rvm
安装RVM curl -L https://get.rvm.io | bash -s stable
如果出现 WARNING: you have GEM_HOME="/..." this is conflicting with RVM, make sure to: unset GEM_HOME
那就执行 unset GEM_HOME
,再执行curl -L https://get.rvm.io | bash -s stable
,不出现忽视该条
载入RVM环境 source ~/.rvm/scripts/rvm
检查安装成功版本 rvm -v
查看已安装ruby rvm list
,并移除相应版本 rvm remove <版本号>
,没有则忽略
更改为淘宝镜像 echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db
否则你可以睡一觉再回来看是否安装完
列出已知ruby版本 rvm list known
并安装 rvm install <版本号>
Error running '__rvm_make -j 1' 错误 执行 xcode-select --install
安装成功,设置默认ruby版本 rvm <版本号> --default
测试安装成功ruby版本 ruby -v
之后重新从文章开头执行安装cocoapods过程