国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

CocoaPods的安裝以及遇到的坑

2019-11-09 17:17:38
字體:
供稿:網(wǎng)友

一.CocoaPods是什么?

CocoaPods是一個用Ruby寫的、負責(zé)管理iOS項目中第三方開源庫的工具,CocoaPods能讓我們集中的、統(tǒng)一管理第三方開源庫,為我們節(jié)省設(shè)置和更新第三方開源庫的時間。

二.CocoaPods的安裝

因為Mac電腦自帶Ruby環(huán)境,我們就只需打開終端開始動手。

(1)、將Ruby 的軟件源替換成國內(nèi)的

ruby 的軟件源( https://rubygems.org )使用的是亞馬遜的云服務(wù),所以自帶的需要翻墻,但我們可以使用如下代碼將官方的 ruby 源替換成國內(nèi)淘寶的源(https://ruby.taobao.org/ )或者是由 Ruby China 社區(qū)專注維護的這個源(https://gems.ruby-china.org/ )。(我在鏡像的時候開始用的是淘寶的,但會卡死,可能是不能用了,也可能是網(wǎng)速慢,在后面講“坑”的時候會說)。在這我用的是Ruby China 社區(qū)專注維護的這個源(https://gems.ruby-china.org/)。

##(注意:復(fù)制別人的命令時不要將$也復(fù)制,終端是一直自動帶著的)*首先,執(zhí)行以下命令刪除原來的ruby源:

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

執(zhí)行命令后可在終端看見以下信息:

https://rubygems.org/ removed from sources

*然后下一步添加你找到的可用的鏡像源(這里我沒有用淘寶的源:https://ruby.taobao.org/ ):

gem sources -a https://gems.ruby-china.org/

*驗證新源是否替換成功

gem sources -l

終端輸出:

 *** CURRENT SOURCES *** https://gems.ruby-china.org/

到此ruby 源替已經(jīng)換成國內(nèi)的源

(2)、開始安裝 CocoaPods

其實就是執(zhí)行sudo gem install cocoapods命令這么簡單,但這一步是最容易出現(xiàn)坑的。

=========可能出現(xiàn)的狀況(坑)=========

問題一:While executing gem ... (Errno::EPERM)  Operation not permitted - /usr/bin/fuzzy_match    錯誤

解決方案 :

執(zhí)行sudo gem install -n /usr/local/bin cocoapods  語句。然后提示gems installed即可。

問題二:Error installing pods:active support requires Ruby version >= 2.2.2

解決方案 :

查看ruby版本

$ruby -v

終端會輸出你的ruby 版本信息

查看目前的所有ruby版本:

$rvm list known

如果提示command not found 請先安裝rvm

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

如果已安裝會列出所有的ruby版本:

MRI Rubies[ruby-]1.8.6[-p420][ruby-]1.8.7[-head] # security released on head[ruby-]1.9.1[-p431][ruby-]1.9.2[-p330][ruby-]1.9.3[-p551][ruby-]2.0.0[-p648][ruby-]2.1[.8][ruby-]2.2[.4][ruby-]2.3[.0][ruby-]2.2-headruby-head......

安裝2.2.2:

$rvm install 2.2.2

終端運行結(jié)果:(如果直接成功請繞過homebrew的卸載安裝)

Searching for binary rubies, this might take some time.Found remote file https://rvm_io.global.ssl.fastly.net/binaries/osx/10.11/x86_64/ruby-2.2.2.tar.bz2Checking requirements for osx.About to install Homebrew, PRess `Enter` for default installation in `/usr/local`,type new path if you wish custom Homebrew installation (the path needs to be writable for user):

回車:

It appears Homebrew is already installed. If your intent is to reinstall youshould do the following before running this installer again:ruby -e "$(curl -fsSL  "The current contents of /usr/local are .gitRequirements installation failed with status: 1.

出現(xiàn)Requirements installation failed with status: 1.時才執(zhí)行:

$ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

卸載home-brew

Warning: This scr再執(zhí)行:

$ rvm install 2.2.2

提示:

Searching for binary rubies, this might take some time.Found remote file https://rvm_io.global.ssl.fastly.net/binaries/osx/10.11/x86_64/ruby-2.2.2.tar.bz2Checking requirements for osx.About to install Homebrew, press `Enter` for default installation in `/usr/local`,type new path if you wish custom Homebrew installation (the path needs to be writable for user):

按回車:

==> This script will install:/usr/local/bin/brew/usr/local/Library/.../usr/local/share/doc/homebrew/usr/local/share/man/man1/brew.1/usr/local/share/zsh/site-functions/_brew/usr/local/etc/bash_completion.d/brewPress RETURN to continue or any other key to abort==> /usr/bin/sudo /bin/mkdir /Library/Caches/HomebrewPassWord:

這里需要輸入電腦密碼:

==> /usr/bin/sudo /bin/chmod g+rwx /Library/Caches/Homebrew==> /usr/bin/sudo /usr/sbin/chown haha /Library/Caches/Homebrew==> Downloading and installing Homebrew...remote: Counting objects: 501, done.remote: Compressing objects: 100% (445/445), done.remote: Total 501 (delta 29), reused 360 (delta 27), pack-reused 0Receiving objects: 100% (501/501), 787.83 KiB | 169.00 KiB/s, done.Resolving deltas: 100% (29/29), done.From https://github.com/Homebrew/brew * [new branch]      master     -> origin/masterHEAD is now at 32f7e73 download_strategy: ensure fixed commit hash length==> Tapping homebrew/coreCloning into '/usr/local/Library/Taps/homebrew/homebrew-core'...remote: Counting objects: 3714, done.remote: Compressing objects: 100% (3598/3598), done.remote: Total 3714 (delta 14), reused 2112 (delta 6), pack-reused 0Receiving objects: 100% (3714/3714), 2.88 MiB | 240.00 KiB/s, done.Resolving deltas: 100% (14/14), done.Checking connectivity... done.Checking out files: 100% (3717/3717), done.Tapped 3591 formulae (3,740 files, 9.0M)==> Installation successful!==> Next stepsRun `brew help` to get startedFurther documentation: https://git.io/brew-docs==> Homebrew has enabled anonymous aggregate user behaviour analyticsRead the analytics documentation (and how to opt-out) here:https://git.io/brew-analyticsInstalling requirements for osx.Updating system.....Installing required packages: autoconf, automake, libtool, pkg-config, libyaml, readline, libksba, openssl........Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.Requirements installation successful.ruby-2.2.2 - #configureruby-2.2.2 - #download  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                             Dload  Upload   Total   Spent    Left  Speed100 6854k  100 6854k    0     0  61342      0  0:01:54  0:01:54 --:--:--  132kruby-2.2.2 - #validate archiveruby-2.2.2 - #extractruby-2.2.2 - #validate binaryruby-2.2.2 - #setupruby-2.2.2 - #gemset created /Users/haha/.rvm/gems/ruby-2.2.2@globalruby-2.2.2 - #importing gemset /Users/haha/.rvm/gemsets/global.gems..............................ruby-2.2.2 - #generating global wrappers........ruby-2.2.2 - #gemset created /Users/haha/.rvm/gems/ruby-2.2.2ruby-2.2.2 - #importing gemsetfile /Users/haha/.rvm/gemsets/default.gems evaluated to empty gem listruby-2.2.2 - #generating default wrappers........Updating certificates in '/etc/openssl/cert.pem'.mkdir: /etc/openssl: Permission deniedmkdir -p "/etc/openssl" failed, retrying with sudohaha password required for 'mkdir -p /etc/openssl': and sudo mkdir worked

至此ruby2.2.2就安裝好了,也可以直接安裝更高的版本,只需將版本號修改一下

然后我們繼續(xù)sudo gem install cocoapods

問題三、Setting up CocoaPods master repo 卡著不動

出現(xiàn)Setting up CocoaPods master repo,說明Cocoapods正在將它的信息下載到 ~/.cocoapods里;(這一步是很費時間的,等輸出Setup completed 安裝完成啦)在此過程中可以右擊終端選 --->新建窗口;在新建的終端窗口輸入:

cd ~/.cocoapods

進入cocoa pods文件,然后在終端輸入:

du -sh *

即可查看下載的文件大小。也就可以知道是網(wǎng)速不好,還是源不可用了。

解決方案 :

1、第一次我用淘寶的https://ruby.taobao.org/ 替換自帶的軟件源,du -sh *查看下載的文件大小,一直不變(不知道是網(wǎng)速的原因,還是淘寶這個源不可用)。然后我就換到這個源https://gems.ruby-china.org/ 。重新搞了一遍。它的下載速度還是蠻快的,文件大約是800多兆。

2、也可以使用cocoapods的鏡像索引.所有項目的Podspec文件都托管在https://github.com/CocoaPods/Specs ,第一次執(zhí)行pod setup時,CocoaPods會將這些podspec索引文件更新到本地的~/.cocoapods目錄下,這個索引文件比較大,所以第一次更新時非常慢.友好人士在國內(nèi)的服務(wù)器建立了Cocoapods索引庫的鏡像,所以執(zhí)行索引跟新操作時候會快很多.具體操作方法如下:   $ pod repo remove master   $ git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master   $ pod repo update這是使用gitcafe上的鏡像,將以上代碼中的 https://gitcafe.com/akuandev/Specs.git 替換成 https://git.oschina.net/akuandev/Specs.git 即可使用oschina上的鏡像。

問題四、出現(xiàn)如下

[!] An error occurred while performing `git pull` on repo `master`.[!] /usr/bin/git pull --ff-only

原因: Cocoapods的分支不支持當(dāng)前最新的Xcode版本

解決辦法: 刪除master分支 重新建立新的分支

sudo rm -fr ~/.cocoapods/repos/master

然后再: pod setup

第五個問題是在別人的博客中看到的

問題五:解決升級EI Capiton CocoaPods "pod: command not found"

升級OS X EI Capiton之后,發(fā)現(xiàn)CocoaPods的pod無效了,運行pod后顯示:"pod: command not found"的錯誤。

解決步驟:

1.為了安全起見,執(zhí)行命令"sudo gem uninstall cocoapods",卸載原有的CocoaPod2.執(zhí)行命令"sudo gem install -n /usr/local/bin cocoapods"來重新安裝cocoapod3.如果沒有權(quán)限執(zhí)行pod,執(zhí)行命令"sudo chmod +rx /usr/local/bin/",賦予/usr/local/bin給予執(zhí)行與讀取權(quán)限

原文鏈接:http://www.jianshu.com/p/6ff1903c3f11

三、CocoaPods的使用

(1)查找第三方庫

 pod search AFNetworking

(2)、創(chuàng)建Podfile文件在終端使用cd +路徑切換到項目所在文件下,然后輸入:

touch Podfile

就可以在項目目錄里看到Podfile文件。也可以使用

pod init

來創(chuàng)建,打開Podfile文件:

open Podfile

然后 pod install就可以了

(3)、 刪除已經(jīng)配置的類庫和移除CocoaPods可以去查看http://www.jianshu.com/p/552f21a989ba?utm_source=tuicool&utm_medium=referral 這篇文章。

pod install與pod update區(qū)別:

1.使用pod install來安裝新的庫,即使你的工程里面已經(jīng)有了Podfile,并且已經(jīng)執(zhí)行過pod install命令了;所以即使你是添加或移除庫,都應(yīng)該使用pod install。2.使用pod update [PODNAME] 只有在你需要更新庫到更新的版本時候用。

小技巧:

最近使用CocoaPods來添加第三方類庫,無論是執(zhí)行pod install還是pod update都卡在了Analyzing dependencies不動原因在于當(dāng)執(zhí)行以上兩個命令的時候會升級CocoaPods的spec倉庫,加一個參數(shù)可以省略這一步,然后速度就會提升不少。加參數(shù)的命令如下:

pod install --verbose --no-repo-updatepod update --verbose --no-repo-update

參考資料:http://blog.csdn.net/u012960049/article/details/52275272http://blog.devtang.com/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/

切換到當(dāng)前Xcode:

sudo xcode-select --switch /applications/Xcode.app/Contents/Developer/


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 聂拉木县| 龙口市| 铁力市| 绍兴市| 崇文区| 德兴市| 治多县| 九寨沟县| 西充县| 亳州市| 奎屯市| 广安市| 商南县| 涿鹿县| 尉氏县| 仪陇县| 宁乡县| 广元市| 武清区| 启东市| 建湖县| 琼中| 镇巴县| 渝北区| 托里县| 界首市| 遂川县| 涿鹿县| 阳东县| 旬邑县| 上高县| 称多县| 哈尔滨市| 鄂托克前旗| 讷河市| 县级市| 商城县| 张家界市| 九龙城区| 稷山县| 车险|