因为项目要用到第三方包ZXingObjC,需要安装cocoapods.下面是我曲折的安装过程。

1、直接在终端内输入:

sudo gem install cocoapods

我直接安装成功。

由于国内网络问题,可能会被封掉,导致安装失败。

可通过终端内输入:

gem sources

~XXX$ gem sources
*** CURRENT SOURCES *** http://rubygems.org/

查看下载源,如图我的下载源是http://rubygems.org/.

当然如果安装失败的话,可以尝试换一个下载源(国内比较常用的是http://taobao.org/),操作如下:

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

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

当然这个下载过程可能会慢一些,耐心等候。

2、由于mac ox 自带的ruby 版本为1.8.7,可能需要升级ruby的版本,我们需要安装RVM以来升级ruby。

(1)终端输入:

curl -L get.rvm.io | bash -s stable

等待,直到成功安装好RVM.

(2)终端输入:

source ~/.bashrc

source ~/.bash_profile

(3)测试是否安装正常,查看版本,终端输入:

rmv -v

3、用RVM升级Ruby

(1)查看当前ruby版本,终端输入:

ruby -v

可以看到当前版本的信息。

(2)列出已知的ruby版本,终端输入:

rvm list known

可以看到列出的ruby不同版本的信息列表。

(3)安装你想要安装的版本,终端输入

rvm install ruby 1.9.3

等待.......

4、这个时候可能会要求你安装Homebrem,中途会让你按enter或者return键

在终端信息中你可以看到如下信息:

should do the following before running this installer again: rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup

终端输入:

rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup

等待......

homebrem安装成功后,继续在终端输入:

rvm install ruby 1.9.3

自此ruby终于升级完成。

5、然后我就可以安装cocoapos了,这次应该成功了吧,至少我是成功了。

终端输入:

sudo gem install cocoapods

各种等待中......

6、因为我是安装的ZXingObjc,我就以它为例来讲了。

安装完cocoapods以后,终端输入:

pod search ZXingObjC

可以看到ZXingObjC的版本列表以及最新版本。

当然也可以到github上查看你的库的版本信息或许会有意想不到的收获哦,至少我是这么做的。

我看到的信息有:

Installation

The recommended way to install ZXingObjC is with CocoaPods, a dependency mananger for Objective-C projects. After installing CocoaPods just add ZXingObjC to your Podfile:

platform :ios, '7.0'
pod 'ZXingObjC', '~> 3.0'

这个信息对我来说是相当有用的。

7、cd 到你项目所在的根目录,比如我的项目是TestProject,终端输入:

(1) cd /Users/XXX/Documents/Work-Project/TestProject

然后在终端中输入:

vim Podfile

同时编辑这个文件,添加两行如下语句保存并退出:

platform :ios, '7.0'

pod 'ZXingObjC', '~>3.0'

现在知道为什么我会说第6步中的信息对我相当重要了吧。什么?vim命令不会,那去找度娘吧,她会帮助你的。

(2)然后就可以安装ZXingObjC库啦。

终端输入:

pod install Analyzing dependencies

8、什么,又出错了。

―― MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

### Report

* What did you do?

* What did you expect to happen?

* What happened instead?

### Stack

```
CocoaPods : 0.33.1
Ruby : ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin12.0]
RubyGems : 2.2.2
Host : Mac OS X 10.8.5 (12F45)
Xcode : 5.1.1 (5B1008)
Ruby lib dir : /Users/maguang/.rvm/rubies/ruby-2.1.1/lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ 547e828b7036ce1220a439e1c53c720410af74b0
``` ### Error ```
NoMethodError - undefined method `ansi' for nil:NilClass
/Users/maguang/.rvm/gems/ruby-2.1.1@global/gems/claide-0.6.1/lib/claide/command/validation_helper.rb:77:in `prettify_validation_suggestion'
/Users/maguang/.rvm/gems/ruby-2.1.1@global/gems/claide-0.6.1/lib/claide/command/validation_helper.rb:21:in `argument_suggestion'
/Users/maguang/.rvm/gems/ruby-2.1.1@global/gems/claide-0.6.1/lib/claide/command.rb:436:in `validate!'
/Users/maguang/.rvm/gems/ruby-2.1.1@global/gems/claide-0.6.1/lib/claide/command.rb:280:in `run'
/Users/maguang/.rvm/gems/ruby-2.1.1@global/gems/cocoapods-0.33.1/lib/cocoapods/command.rb:48:in `run'
/Users/maguang/.rvm/gems/ruby-2.1.1@global/gems/cocoapods-0.33.1/bin/pod:33:in `<top (required)>'
/Users/maguang/.rvm/rubies/ruby-2.1.1/bin/pod:23:in `load'
/Users/maguang/.rvm/rubies/ruby-2.1.1/bin/pod:23:in `<main>'
/Users/maguang/.rvm/gems/ruby-2.1.1@global/bin/ruby_executable_hooks:15:in `eval'
/Users/maguang/.rvm/gems/ruby-2.1.1@global/bin/ruby_executable_hooks:15:in `<main>'
``` ――― TEMPLATE END ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― [!] Oh no, an error occurred. Search for existing github issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=undefined+method+%60ansi%27+for+nil%3ANilClass&type=Issues If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new Don't forget to anonymize any private data!

看到错误千万不要害怕。看到错误信息的最后几行语句了吗?他告诉我们类似的问题在别人那里也已经出现过了,相关问题的讨论路径也已经告诉我们了,相信你能找到解决方案的。

当然我还是要在这里说一下解决方案:

这个问题是cocoaPods 0.33.1的一个bug,所以我将cocoaPods版本改为0.32.1。

在终端中输入:

sudo gem uninstall cocoapods

sudo gem install cocoapods -v 0.32.1

sudo rm -rf ~/.cocoapods && sudo rm -fr ~/.cocoapods/repos/master && pod setup && pod install (当然你也可以分开写,分开执行)

9、现在应该可以成功了吧,可惜有报错了。各种无语中......

错误信息如下:

[!] Invalid `Podfile` file: undefined local variable or method `en_US' for #<Pod::Podfile:0x00000102a5d8b0>. Updating CocoaPods might fix the issue.

这是编码的问题

查看编码,终端中输入:

locale

你会看到如下信息:

LANG="zh_CN.UTF-8"

LC_COLLATE="zh_CN.UTF-8"

LC_CTYPE="zh_CN.UTF-8"

LC_MESSAGES="zh_CN.UTF-8"

LC_MONETARY="zh_CN.UTF-8"

LC_NUMERIC="zh_CN.UTF-8"

LC_TIME="zh_CN.UTF-8"

LC_ALL=

发现都是zh,如要转换一下:

终端中输入:
      export LC_ALL=en_US.UTF-8

export LANG=en_US.UTF-8

这个时候你可以继续执行了。

慢着,这时你最好先cd到你的项目的根目录下

打开前面你创建的Podfile文件,终端中输入:

vim Podfile

然后将文件中的内容清空,重新编辑一遍,保存退出。

9、然后,终于可以下载第三方包了。终端中执行

pod install

成功了,信息如下:

Downloading dependencies
    Installing ZXingObjC (3.0.2)

又是各种等待.....

cocoapods安装以及ZXingObjC的安装的更多相关文章

  1. CocoaPods的简单介绍及安装和使用

    CocoaPods的简单介绍及安装和使用   一.CocoaPods是什么? 当你开发iOS应用时,会常常使用到非常多第三方开源类库.比方JSONKit.AFNetWorking等等. 可能某个类库又 ...

  2. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  3. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 3.安装Clus ...

  4. Linux CentOS7通过yum命令安装Mono(尝先安装模式)

    前言 经过尝试网上各种安装mono的技术贴,这个安装过程经历了大约2周,尝试了各个版本,几目前博客所描述的所有安装方式.以下内容的安装方式可以为你尝试不同版本的mono.并非正式环境安装标准方式安装. ...

  5. Linux平台 Oracle 11gR2 RAC安装Part2:GI安装

    三.GI(Grid Infrastructure)安装 3.1 解压GI的安装包 3.2 安装配置Xmanager软件 3.3 共享存储LUN的赋权 3.4 使用Xmanager图形化界面安装GI 3 ...

  6. Linux平台 Oracle 11gR2 RAC安装Part3:DB安装

    四.DB(Database)安装 4.1 解压DB的安装包 4.2 DB软件安装 4.3 ASMCA创建磁盘组 4.4 DBCA建库 4.5 验证crsctl的状态 Linux平台 Oracle 11 ...

  7. salt源码安装软件和yum安装软件

    上面简单列出了源码安装的sls文件书写思路. 涉及到一些固定的思路:如, 1,拷贝 解压安装时候需要依赖tar.gz存在 如果已安装则无需再次安装. 2,启动脚本 加入chk时候需要文件存在,如果已添 ...

  8. vim的编译安装及其插件YouCompleteMe安装

    相关的环境: win 7 x64 vs2013 community python 2.7.10 AMD64 python 3.5 AMD64 LLVM 3.5 cmake 3.5   YouCompl ...

  9. IIS网站或系统验证码不显示问题——"使用了托管的处理程序,但是未安装或未完整安装 ASP.NET"

    在IIS上发布了一个系统,但是登陆页面的验证码图片一直出不来,尝试了各种办法,权限.路径.继承父类路径等都不管用,进入Login.html,对着无验证码图片的图标,右键复制图片的网址,粘贴到地址栏,出 ...

随机推荐

  1. 微软科学家Leslie Lamport荣获2013年图灵奖

    Lamport荣获2013年图灵奖" title="微软科学家Leslie Lamport荣获2013年图灵奖"> 编者按:Leslie Lamport,新晋图灵奖 ...

  2. MAC地址和IP地址是否缺一不可

    答案是肯定的,我们来具体分析: 在网络传输的过程中,第一次将信息从A端发往B端时,首先在A端需要将信息从应用层开始到物理层进行逐层封装,到达B端后再从物理层到应用层进行逐层分用解包,最后拿到信息. 信 ...

  3. MOOC(7)- case依赖、读取json配置文件进行多个接口请求-模拟接口响应数据(18)

    这里是把传入的请求数据作为响应值返回 # -*- coding: utf-8 -*- # @Time : 2020/2/15 9:47 # @File : do_mock_18.py # @Autho ...

  4. freeRadius设置任意账号密码认证通过

    [root@wifi_radiusdproxy_16 raddb]# cat users # # Please read the documentation file ../doc/processin ...

  5. 署名|单位地址|Abstract

    科研论文写作---如何署名单位地址 署名的作者要研究结果负责,其署名作为对所作贡献的认可. 参与设计实验想法,参与实验过程,参与起草论文或重大修改论文,或对论文定稿的学者拥有署名权.而资金资助& ...

  6. C语言学习笔记之动态分配数组空间

    本文为原创文章,转载请标明出处 高级语言写多了,再拿起C语言的时候,自己已经傻了... C语言中数组大小不能为变量,即使这个变量已经被赋过值了,应该使用malloc方法进行数组空间动态分配. 如下: ...

  7. Luogu_1080_国王游戏

    题目描述 恰逢H国国庆,国王邀请n位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这n位大臣排成一排,国王站在队伍的最前面.排好队 ...

  8. python中字典dic详解-创建,遍历和排序

    原文地址:http://www.bugingcode.com/blog/python_dic_create_sort.html 在python的编程中,字典dic是最典型的数据结构,看看如下对字典的操 ...

  9. SIM卡的消失会让运营商们恐慌吗?

    ​中国移动.联通.电信三大运营商原本高高在上,每天乐滋滋地数钱数到手抽筋,但近年来移动互联网的快速普及,让运营商的制霸状态不复存在.成为众多互联网公司的"流量通道",语音.短信等业 ...

  10. USB描述符(转)

    //============================================================================// 文件名: USBDESC.C// 用 ...