文章最后 其他问题总结;
1 添加taobao提供的镜像地址:http://ruby.taobao.org/
移除命令:gem sources --remove https://rubygems.org/
添加命令:gem sources -a http://ruby.taobao.org/
查看gem来源列表:$ gem sources -l
2 在命令终端输入:
sudo gem install cocoapods
等待15分钟:
$ sudo gem install cocoapods
Password:
Fetching: i18n-0.7.0.gem (100%)
Successfully installed i18n-0.7.0
Fetching: thread_safe-0.3.4.gem (100%)
Successfully installed thread_safe-0.3.4
Fetching: tzinfo-1.2.2.gem (100%)
Successfully installed tzinfo-1.2.2
Fetching: minitest-5.5.1.gem (100%)
Successfully installed minitest-5.5.1
Fetching: activesupport-4.2.0.gem (100%)
Successfully installed activesupport-4.2.0
Fetching: nap-0.8.0.gem (100%)
Successfully installed nap-0.8.0
Fetching: fuzzy_match-2.0.4.gem (100%)
Successfully installed fuzzy_match-2.0.4
Fetching: cocoapods-core-0.36.0.gem (100%)
Successfully installed cocoapods-core-0.36.0
Fetching: claide-0.8.1.gem (100%)
Successfully installed claide-0.8.1
Fetching: colored-1.2.gem (100%)
Successfully installed colored-1.2
Fetching: xcodeproj-0.23.0.gem (100%)
Successfully installed xcodeproj-0.23.0
Fetching: cocoapods-downloader-0.8.1.gem (100%)
Successfully installed cocoapods-downloader-0.8.1
Fetching: cocoapods-plugins-0.4.1.gem (100%)
Successfully installed cocoapods-plugins-0.4.1
Fetching: cocoapods-try-0.4.3.gem (100%)
Successfully installed cocoapods-try-0.4.3
Fetching: netrc-0.7.8.gem (100%)
Successfully installed netrc-0.7.8
Fetching: cocoapods-trunk-0.6.0.gem (100%)
Successfully installed cocoapods-trunk-0.6.0
Fetching: molinillo-0.2.1.gem (100%)
Successfully installed molinillo-0.2.1
Fetching: escape-0.0.4.gem (100%)
Successfully installed escape-0.0.4
Fetching: open4-1.3.4.gem (100%)
Successfully installed open4-1.3.4
Fetching: cocoapods-0.36.0.gem (100%)
Successfully installed cocoapods-0.36.0
Parsing documentation for i18n-0.7.0
Installing ri documentation for i18n-0.7.0
Parsing documentation for thread_safe-0.3.4
Installing ri documentation for thread_safe-0.3.4
Parsing documentation for tzinfo-1.2.2
Installing ri documentation for tzinfo-1.2.2
Parsing documentation for minitest-5.5.1
Installing ri documentation for minitest-5.5.1
Parsing documentation for activesupport-4.2.0
unable to convert "\x84" from ASCII-8BIT to UTF-8 for lib/active_support/values/unicode_tables.dat, skipping
Installing ri documentation for activesupport-4.2.0
Parsing documentation for nap-0.8.0
Installing ri documentation for nap-0.8.0
Parsing documentation for fuzzy_match-2.0.4
Installing ri documentation for fuzzy_match-2.0.4
Parsing documentation for cocoapods-core-0.36.0
Installing ri documentation for cocoapods-core-0.36.0
Parsing documentation for claide-0.8.1
Installing ri documentation for claide-0.8.1
Parsing documentation for colored-1.2
Installing ri documentation for colored-1.2
Parsing documentation for xcodeproj-0.23.0
Installing ri documentation for xcodeproj-0.23.0
Parsing documentation for cocoapods-downloader-0.8.1
Installing ri documentation for cocoapods-downloader-0.8.1
Parsing documentation for cocoapods-plugins-0.4.1
Installing ri documentation for cocoapods-plugins-0.4.1
Parsing documentation for cocoapods-try-0.4.3
Installing ri documentation for cocoapods-try-0.4.3
Parsing documentation for netrc-0.7.8
Installing ri documentation for netrc-0.7.8
Parsing documentation for cocoapods-trunk-0.6.0
Installing ri documentation for cocoapods-trunk-0.6.0
Parsing documentation for molinillo-0.2.1
Installing ri documentation for molinillo-0.2.1
Parsing documentation for escape-0.0.4
Installing ri documentation for escape-0.0.4
Parsing documentation for open4-1.3.4
Installing ri documentation for open4-1.3.4
Parsing documentation for cocoapods-0.36.0
Installing ri documentation for cocoapods-0.36.0
20 gems installed
如此安装成功!
安装成功后,接着执行命令:
pod setup
如果Ruby环境不够新,或安装时提示"ERROR: Error installing cocoapods:activesupport requires Ruby version >= 2.2.2."这样的错误,代表你的ruby需要更新了,需要更新一下:
sudo gem update --system
如果执行完上面的命令后,还是无法更新到较新的版本,则需要用rvm来更新,具体步骤如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
$ curl - L get.rvm.io | bash -s stable
$ source ~/.bashrc $ source ~/.bash_profile #测试是否安装正常 $ rvm -v #查看当前ruby版本 $ ruby -v #列出已知的ruby版本 $ rvm list known #安装ruby 1.9.3 $ rvm install 1 . 9 . 3
|
至此安装就完成了,我们可以尝试搜索一个第三方类库:
pod search AFNetworking
使用CocoaPods的第一步,是在当前项目下,新建一个Podfile文件:
touch Podfile
然后利用vim打开Podfile文件编辑,加入你想要使用的类库,格式如下:
platform :ios
pod 'Reachability', '3.1.0' platform:ios, '6.0'
pod 'JSONKit','1.4'
pod 'AFNetworking', '~> 2.3.1'
如果是拷贝的别人的项目,或是一个很久没打开过的项目,可能需要先执行一下:
pod update
最后一步,执行命令:
pod install
当终端出现类似下面的提示后,就代表成功了:
[!] From now on use `Sample0814.xcworkspace`.
这个时候会看到项目文件夹下多了一个文件xxx.xcworkspace,以后要通过这个文件打开项目,老项目文件xxx.xcodeproj不再使用。
P.s.1 上面的每一步都有可能出现问题,但大部分问题都是因为大局域网的原因,用一个网速稳定的*VPN可破。
P.s.2 如果上面因为权限问题安装失败,必须每次都要删除
rm -rf /Users/loginnanme/Library/Caches/CocoaPods/
因为这个缓存中会存下你的github的东西,造成每次都调用上次权限问题的缓存。
P.s.3 关于Podfile文件编辑时,第三方库版本号的各种写法:
pod ‘AFNetworking’ //不显式指定依赖库版本,表示每次都获取最新版本
pod ‘AFNetworking’, ‘2.0’ //只使用2.0版本
pod ‘AFNetworking’, ‘>2.0′ //使用高于2.0的版本
pod ‘AFNetworking’, ‘>=2.0′ //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘<2.0′ //使用小于2.0的版本
pod ‘AFNetworking’, ‘<=2.0′ //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~>0.1.2′ //使用大于等于0.1.2但小于0.2的版本,相当于>=0.1.2并且<0.2.0
pod ‘AFNetworking’, ‘~>0.1′ //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0′ //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本
二、为了和谐,为了速度,我们身在天朝,你懂的,使用cocoapods国内镜像服务器:
pod repo remove master
pod repo add master https://gitcafe.com/akuandev/Specs.git
pod repo update
第二条命令运行比较耗时,因为要clone,5、6分钟可能要,因为它要把自己大概60M的specs库拷贝下来,上面的地址不行,可以更换下面几个镜像
1:http://akinliu.github.io/2014/05/03/cocoapods-specs-/
2:http://Git.oschina.net/akuandev/Specs.git
这些镜像都是一位大大贡献出来的,链接在此:http://akinliu.github.io/2014/05/03/cocoapods-specs-/
使用参数忽略掉specs更新,直接更新我们想要的库:
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
不用担心我们的specs会很老,因为该镜像的大大,每隔10分钟就帮我们同步了一次specs,童鞋们要感谢他。
使用:
官网说明书:http://guides.cocoapods.org/terminal/commands.html
其实看这个就能解决几个重要问题:
1、第三方已经给修改过,如何忽略掉,更新别的,就是单独更新
原文:http://guides.cocoapods.org/terminal/commands.html#pod_update
翻译:
pod 更新
pod update [POD_NAMES ...]
更新由pod指定的POD_NAMES
标识的库。如果POD_NAMES
没有指定,则它将更新所有的库,忽略了 Podfile.lock 的内容。此命令保留给依赖项的更新和 pod 安装应该用于对 Podfile 安装更改。
Options:
--project-directory=/project/dir/ |
设置更新的路径 |
--no-clean |
下载后离开SCM连接管理 |
--no-integrate |
跳过xcode项目的pod集成库 |
--no-repo-update |
安装前跳过 |
Inherited options:
--silent |
什么都不显示 |
--version |
显示该工具的版本。 |
--verbose |
显示更多的调试信息。 |
--no-ansi |
显示输出没有 ANSI 代码。 |
--help |
帮助 |
单独更新的例子:
pod update 'pop' --verbose --no-repo-update //更新pop库,显示所有调试信息,不检查更新cocoapod版本库