安装CocoaPods遇到的问题及解决办法

时间:2022-08-29 15:27:36

1.打开Terminal,然后键入以下命令:

$ sudo gem install cocoapods

执行完报错:

[code]ERROR:  Could not find a valid gem 'cocoapods' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://rubygems.org/latest_specs.4.8.gz)


这是因为ruby的软件源rubygems.org因为使用亚马逊的云服务,被我天朝屏蔽了,需要更新一下ruby的源,可以使用淘宝的镜像(注意原来是http,现在是https):

[code]$ gem sources -l (查看当前ruby的源)
$ gem sources --remove https://rubygems.org/ $ gem sources -a https://ruby.taobao.org/ $ gem sources -l


这个时候显示为

[code]*** CURRENT SOURCES ***
https://ruby.taobao.org/[/code]
如果gem太老,可以尝试用如下命令升级gem

$ sudo gem update –system

升级成功后会提示:
RubyGems system software updated


然后重新执行安装下载命令

$ sudo gem install cocoapods

又出现错误

[code]ERROR:  While executing gem ... (Errno::EPERM)    Operation not permitted - /usr/bin/fuzzy_match


Stack Overflow上找到解决办法:执行下面的语句

[code]sudo gem install -n /usr/local/bin cocoapods


然后看到提示
15 gems installed
说明完成安装

2.接下来进行安装,执行:

$ pod setup

Terminal会停留在
Setting up CocoaPods master repo
很长时间(所以我乘着这个时间来记博客了=。=)

因为等待时间真的太长了,就来科普下为什么要安装CocoaPods吧(别人都已经在安装了难道会不知道为什么要安装吗啊喂!)

3.为什么需要CocoaPods

在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson、AFNetworking、Reachability等等。使用这些库的时候通常需要:

下载开源库的源代码并引入工程

向工程中添加开源库使用到的framework

解决开源库和开源库以及开源库和工程之间的依赖关系、检查重复添加的framework等问题

如果开源库有更新的时候,还需要将工程中使用的开源库删除,重新执行前面的三个步骤,顿时头都大了。。。

自从有了CocoaPods以后,这些繁杂的工作就不再需要我们亲力亲为了,只需要我们做好少量的配置工作,CocoaPods会为我们做好一切!

4.什么是CocoaPods

CocoaPods是一个用来帮助我们管理第三方依赖库的工具。它可以解决库与库之间的依赖关系,下载库的源代码,同时通过创建一个Xcode的workspace来将这些第三方库和我们的工程连接起来,供我们开发使用。

使用CocoaPods的目的是让我们能自动化的、集中的、直观的管理第三方开源库。

CocoaPods是iOS项目的依赖管理工具,该项目源码在Github上管理。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和第三方开源库的时间。

在使用CocoaPods之前,开发项目需要用到第三方开源库的时候,我们需要

1.把开源库的源代码复制到项目中

2.添加一些依赖框架和动态库

3.设置-ObjC,-fno-objc-arc等参数

4.管理他们的更新

在使用CocoaPods后,我们只需要把用到的开源库放到一个名为Podfile的文件中,然后执行pod install.Cocoapods就会自动将这些第三方开源库的源码下载下来,并且为我们的工程设置好响应的系统依赖和编译参数。

5.好了,setup成功了

等了好久好久,终于安装成功了,会看到一大段令人愉快的绿色的字

安装CocoaPods遇到的问题及解决办法

6.卸载

[code]$ sudo gem uninstall cocoapods


提示是否卸载,回“Y”

7.出现”Insecure world writable dir /Users/username in PATH, mode 040777”

输入以下语句可解决

[code]$ chmod go-w /Users/username


参见Stack Overflow

8.出现“cannot load such file – cocoapods-core (LoadError)”或者怎么安装都显示“-bash: pod: command not found”

按照前面正常的步骤安装,出现类似如下的问题:

[code]jiuzhoudianqideMacBook-Pro:~ jiuzhoudianqi$ pod setup/Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- cocoapods-core (LoadError)    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'    from /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.39.0/lib/cocoapods.rb:22:in `<module:Pod>'    from /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.39.0/lib/cocoapods.rb:17:in `<top (required)>'    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'    from /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.39.0/bin/pod:25:in `<top (required)>'    from /usr/local/bin/pod:23:in `load'    from /usr/local/bin/pod:23:in `<main>'


或者

[code]jiuzhoudianqideMacBook-Pro:~ jiuzhoudianqi$ pod setup-bash: pod: command not found


等等无法解决的问题,解决办法是:卸载重装

[code]$ sudo gem uninstall cocoapods-core cocoapods-downloader cocoapods


然后按照上面正常的步骤再来一次

[code]$ sudo gem install -n /usr/local/bin cocoa pods...3 gems installed$ pod --version0.39.0


参见Stack Overflow

Reference:

《 CocoaPods详解之—-使用篇》

《CocoaPods的安装使用和常见问题》

* - Cannot install cocoa pods after uninstalling, results in error