cocoapods安裝以及ZXingObjC的安裝


因為項目要用到第三方包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)

   又是各種等待.....        


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM