CocoaPods的 安装 /卸载/升级
CocoaPods用来管理第三方框架
Mac 安装 Cocoapods
因为 Cocoapods 升级需要对应的 ruby 版本也要升级, 使用 Homebrew 比较方便.
安装 ruby: brew install ruby
查看当前安装的 ruby 版本: ruby -v
会得到类似下面的信息:ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
gem 是管理 Ruby 库和程序的标准包.
安装了 ruby, 自带了 gem 工具.
可以使用 gem -v 查看 gem 版本.
安装 Cocoapods
1.移除原来的源, 不管以前是否安装过 Cocoapods.
gem sources --remove https://ruby.taobao.org/
2.重新添加源, 注意是 https.
gem sources -a https://gems.ruby-china.org/
之前 taobao 的源 好像已经不行了.
3.查看是否添加成功, 该步骤可选.
gem sources -l
安装, 使用 root 权限安装.
sudo gem install -n /usr/local/bin cocoapods
这种安装方式, 会安装最新的 release 版本.
你也可以使用下面两种方式来安装.
- 指定版本安装
sudo gem install -n /usr/local/bin cocoapods -v 1.0.0
- 安装最新的 release beta 版本
sudo gem install -n /usr/local/bin cocoapods --pre
卸载 Cocoapods
卸载 Cocoapods 只需执行:
sudo gem uninstall cocoapods
如果想删除本地的 pod repo, 可以这样:
rm -fr ~/.cocoapods/
建立本地 repo
安装完 Cocoapods 后, 需要建立本地的 repo.
pod setup
即使你现在不执行 pod setup, 后面进行 pod install 或者 pod update 的时候, 也会自动的进行 pod setup.
执行 pod setup 的目的是将所有第三方的 podspec 索引文件更新到本地的 ~/.cocoapods/repos 目录中.
安装使用中遇到的问题
问题1: 命令行执行 pod 发生: pod command not found, 但是 sudo pod 却可以执行.
解决方案即如下步骤
- 卸载原有的 Cocoapods
sudo gem uninstall cocoapods
- 重新安装 Cocoapods
sudo gem install -n /usr/local/bin cocoapods
- 赋予/usr/local/bin给予执行与读取权限
sudo chmod -R +rx /usr/local/bin/
建议最好设置代理.
问题2: 更新 gem 过程中, 遇到
Operation not permitted - /usr/bin/update_rubygems
可以通过通过 brew 安装 ruby 解决.
brew install ruby
问题3: pod setup 失败
失败提示信息类似:
解决方案: 更新 gem
sudo gem update --system
问题4: 添加源, 提示如下问题
source https://gems.ruby-china.org/ already present in the cache
这个说明你已经添加过该源, 可以使用
gem sources -l
来查看已经添加的源.
常用操作
1. sudo gem update --system
更新 gem
2.pod repo update
更新本地仓库.
3.pod search xxx
搜索 cocoapods 项目.
4.pod list
列出所有可用的库.
5.pod install
根据 podfile 和 podfile.lock来安装库.
默认会执行 pod repo update.
可以加入参数 –no-repo-update 不执行 pod repo update.
6.pod update
更新已安装的库到最新版本, 并且创建新的 Podfile.lock 文件.
该命令也会默认会执行 pod repo update.
可以加入参数 –no-repo-update 不执行 pod repo update.
问题:
升级 ruby 到 2.4 版本后, cocoapods 无法使用了.
升级的 ruby 版本信息:
|
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin15]
|
使用任何 pod 命令都报错:
|
/usr/local/Cellar/ruby/2.4.0/lib/ruby/2.4.0/rubygems.rb:270:in `find_spec_for_exe': can't find gem cocoapods (>= 0.a) (Gem::GemNotFoundException)
from /usr/local/Cellar/ruby/2.4.0/lib/ruby/2.4.0/rubygems.rb:298:in `activate_bin_path'
from /usr/local/bin/pod:22:in `<main>'
|
查找各种解决方案, 最终还是没有解决.
你可以在 这里 下载 Cocoapods 的 Mac 版本 App 使用.
Cocoapods 版本升级步骤
直接升级:sudo gem install cocoapods
或者
查看 Ruby 版本:
$ ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]
更新下 Cocoapods 即可,更新步骤:
1、 更新 gem ,国内需切换 gem source
$ sudo gem update --system
$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
$ gem sources -l
*** CURRENT SOURCES***
https://ruby.taobao.org
2、 安装 cocoapods
$ sudo gem install cocoapods (sudo gem install cocoapods --pre 应用最新测试版)
$ pod setup
和安装过程是一样的,再次查看 pod 版本:
$ pod --version
0.39.0
搞定
CocoaPods的 安装 /卸载/升级的更多相关文章
- Cocoapods的安装,卸载和使用
[一]Cocoapods的安装 (1)Cocoapods的官方网站为: https://cocoapods.org/ .如果你的电脑已经安装了Ruby开发环境,那么在终端(Terminal)中使用以下 ...
- Mac电脑下-nodejs安装卸载升级
一.Mac 安装nodejs: 1:brew install node 2:官网上下载指定版本(.pkg)双击安装 二.Mac 卸载nodejs: 1: brew的安装方式的卸载: brew un ...
- Ubuntu 如何使用apt命令安装、升级、卸载软件
apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索.安装.升级.卸载软件或操作系统. apt-get命令一般需要root权限执行,所以一般跟着su ...
- Sublime Text 3 插件的安装、升级和卸载
Sublime Text 3 插件的安装.升级和卸载 快捷键:ctrl+shift+p打开命令面板,如图: 1,插件安装: 输入:install ,选择“Install package” ,如图: 然 ...
- yum对于包和软件的安装、升级和卸载总结
在Centos下yum的安装.升级和卸载 一.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的.安装的命令是,yum install ~,yum会查询数据库,有无这一软件包,如果 ...
- Cocoapods无法使用/安装失败/失效解决方法
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Helvetica Neue"; color: #666666 } sp ...
- 【原】iOS学习46之第三方CocoaPods的安装和使用(通用方法)
本文主要说明CocoaPods的安装步骤.使用说明和常见的报错即解决方法. 1. CocoaPods 1> CocoaPods简介 CocoaPods是一个用来帮助我们管理第三方依赖库的工具. ...
- iOS 最新版 CocoaPods 的安装使用
当在开发iOS应用时,会经常使用到很多的第三方开源类库,一般的方法是直接从GitHub下载,然后拖到项目中使用,如果该开源类库不依赖其他的类库,就可以直接使用:如果该开源类库还依赖一些其他的类库,则需 ...
- 【转】CocoaPods的安装以及遇到的坑
一.CocoaPods是什么? CocoaPods是一个用Ruby写的.负责管理iOS项目中第三方开源库的工具,CocoaPods能让我们集中的.统一管理第三方开源库,为我们节省设置和更新第三方开源库 ...
随机推荐
- java中volatile关键字的含义<转>
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉. Java语言是支持多线程的,为了解决线程并发的问题,在语 ...
- linux中mysql表名默认区分大小写导致表找不到的问题
天将window的项目迁移到linux上面,然后登录时一直报用户表找不到的错误信息. 检查发现数据库中的表名是m_user, 后来才想起来是大小写问题, 找到问题原因,解决方案如下: 修改/etc/m ...
- 【Spring boot】第一个项目 Springboot + mysql + hibernate
今天公司要做一个小项目,好久没碰项目了(刷题好累...),听说spring boot很火,决定试一试.暂时就从mysql里面读数据好了,使用hiberante. 1.获取jar包. 从http://s ...
- 《FPGA全程进阶---实战演练》第四章之Quartus II使用技巧
技巧1:“新”技能 hierarchies警告寻找 在编译之后,警告中“hierarchies”这个单词大家估计都很熟悉了,一看到这个警告,基本上就是例化时出现的问题.一般例化时,要是哪个连线没引出, ...
- 几种常见的DIV边框样式
<html> <head> <title>边框样式</title> </head> <body> <p style=bor ...
- ioctl参数cmd=2错误
在写内核驱动的时候,用到了ioctl.自己定义cmd作为ioctl的参数.如下: enum CMD { LEVEL_DOWN, LEVEL_UP, GPIO_INPUT, GPIO_OUTPUT, G ...
- C++异常抛出与捕获及处理
一.异常 迄今为止,我们处理程序中的错误一般都是用if语句测试某个表达式,然后处理错误的特定义代码. C++异常机制使用了三个新的关键字 (SEH(结构化异常处理)) try ──标识可能出现 ...
- 第二百九十八节,python操作redis缓存-Set集合类型,可以理解为不能有重复元素的列表
python操作redis缓存-Set集合类型,可以理解为不能有重复元素的列表 sadd(name,values)name对应的集合中添加元素 #!/usr/bin/env python # -*- ...
- vector push_back报错
场景:定义了一个结构体,包含一个vector的成员变量,在给这个vTQ push_back数据的时候报错. typedef struct tag_TQInfo { int iTime; int iMa ...
- CMutex、CCriticalSection、CSemaphore、CEvent、WaitForSingleObject 的小例子
一.CMutex CMutex mutex; mutex.Lock(); // 互斥的动作 // mutex.Unlock(); 二.CCriticalSection CCriticalSection ...