CocoaPods-安装、卸载、使用和可能遇到的问题

来源:互联网 发布:nginx 添加第三方模块 编辑:程序博客网 时间:2024/05/17 23:17

CocoaPods-安装、卸载中可能遇到的问题

1,首先是可能遇到的问题,安装方法网上一搜一大堆,这里不详细讲述,主要讲我遇到的问题。

这里链接一个安装教程《工具-CocoaPods安装和使用及卸载

(1)安装问题(在使用中,你可能回去更新这更新那(源,或者cocoapods)也会有此类问题)

查看当前有的源

gem sources -l


如果显示:

*** CURRENT SOURCES ***

https://rubygems.org/


那么就删除这个源(gem默认的源是https://rubygems.org,国外的

gem sources --remove https://rubygems.org/

增加http://ruby.taobao.org/源(国内的)

gem sources -a https://ruby.taobao.org/

会提示:表示成功了

https://ruby.taobao.org/ added to sources

查看一下

gem sources -l

*** CURRENT SOURCES ***

https://ruby.taobao.org/

运行:

sudo gem install cocoa pods

这个时候可能问题来了:有错误

Fetching: cocoapods-core-0.39.0.gem (100%)

Successfully installed cocoapods-core-0.39.0

Fetching: cocoapods-downloader-0.9.3.gem (100%)

Successfully installed cocoapods-downloader-0.9.3

Fetching: cocoapods-plugins-0.4.2.gem (100%)

Successfully installed cocoapods-plugins-0.4.2

Fetching: cocoapods-search-0.1.0.gem (100%)

Successfully installed cocoapods-search-0.1.0

Fetching: cocoapods-stats-0.6.2.gem (100%)

Successfully installed cocoapods-stats-0.6.2

Fetching: cocoapods-try-0.5.1.gem (100%)

Successfully installed cocoapods-try-0.5.1

Fetching: cocoapods-trunk-0.6.4.gem (100%)

Successfully installed cocoapods-trunk-0.6.4

ERROR:  While executing gem ... (Errno::EPERM)

    Operation not permitted - /usr/bin/pod

别慌:

跑一下  gem list

应该没有这个  cocoapods (0.39.0)

跑一下这个:

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

如果不行先跑一下这个:

sudo chmod +rx /usr/local/bin/

再跑 

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

查看一下:

which pod

会有显示(别说你没有哈):

/usr/local/bin/pod


跑一下

gem list

看有没有了(有了吧)

cocoapods (0.39.0)

cocoapods-core (0.39.0)

cocoapods-downloader (0.9.3)

cocoapods-plugins (0.4.2)

cocoapods-search (0.1.0)

cocoapods-stats (0.6.2)

cocoapods-trunk (0.6.4)

cocoapods-try (0.5.1)

这样就 OK 了。


如果你遇到这些问题:别慌,卸载重装吧

卸载:    sudo gem uninstall cocoapods
重装:上面的安装过程

问题:

/Library/Ruby/Site/2.0.0/rubygems.rb:254:in `bin_path': can't find gem cocoapods (>= 0.a) (Gem::GemNotFoundException)

from /usr/local/bin/pod:22:in `<main>'




/Library/Ruby/Site/2.0.0/rubygems/dependency.rb:320:in `to_specs': Could not find 'cocoapods' (>= 0) among 33 total gem(s) (Gem::LoadError)

Checked in 'GEM_PATH=/Users/sifenzi/.gem/ruby/2.0.0:/Library/Ruby/Gems/2.0.0:/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0', execute `gem env` for more information

from /Library/Ruby/Site/2.0.0/rubygems/dependency.rb:329:in `to_spec'

from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_gem.rb:65:in `gem'

from /usr/local/bin/pod:22:in `<main>'




Cocoapods降低版本及卸载

有的时候我们需要降低Cocoapods的版本来解决第三方库的兼容问题。

1.移除pod组件

查看cocoapods组件装在哪里:

which pod

移除

sudo rm -rf <path>

移除cocoa pods程序包 

sudo gem uninstall cocoa pods

安装指定的程序包

sudo gem install cocoapods -v 0.38.0


为了阅读方便下面的内容转载来自《工具-CocoaPods安装和使用及卸载》:http://www.cnblogs.com/hlfme/p/4645437.html

CocoaPods是iOS最常用的第三方类库管理工具,绝大部分有名的开源类库都支持CocoaPods。

我们在使用gem更新的时候,经常会为速度抓狂,其实gem默认的源是https://rubygems.org,比较慢众所周至的原因了。

可以将源更换到国内的taobao源

查看当前有的源

1
gem sources -l

移除https://rubygems.org源

1
gem sources --remove https://rubygems.org/

增加http://ruby.taobao.org/源

1
gem sources -a http://ruby.taobao.org/

添加完用gem sources -l再查看一下,请确保只有http://ruby.taobao.org/这一个.然后执行

sudo gem install cocoapods

安装成功后,接着执行命令:

pod setup

如果Ruby环境不够新,可能需要更新以下:

sudo gem update --system

至此安装就完成了,我们可以尝试搜索一个第三方类库:

pod search AFNetworking

使用CocoaPods的第一步,是在当前项目下,新建一个Podfile文件:

touch Podfile

然后利用vim打开Podfile文件编辑,加入你想要使用的类库,格式如下:

platform :iospod '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.0pod ‘AFNetworking’, ‘~>0.1′     //使用大于等于0.1但小于1.0的版本pod ‘AFNetworking’, ‘~>0′     //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本

P.s.4 在项目中删除cocoapod步骤如下:

1. 删除工程文件夹下的Podfile、Podfile.lock及Pods文件夹

2. 删除xcworkspace文件

3. 使用xcodeproj文件打开工程,删除Frameworks组下的Pods.xcconfig及libPods.a引用

4. 在工程设置中的Build Phases下删除Check Pods Manifest.lock及Copy Pods Resources

 

Cocoapods降低版本及卸载

有的时候我们需要降低Cocoapods的版本来解决第三方库的兼容问题。

1.移除pod组件

查看cocoapods组件装在哪里:

1 which pod

移除pod组件

1 sudo rm -rf <path>

2.移除RubyGems 中的Cocoapods程序包

查看gems中本地程序包

1 gem list

输出如下图:

移除cocoapods程序包

1 sudo gem uninstall cocoapods -v 0.37.2
1 sudo gem uninstall cocoapods-core -v 0.37.2

安装制定版本的cocoapods

1 sudo gem install cocoapods -v 0.38.0

0 0
原创粉丝点击