CocoaPods安装以及常见错误总结

CocoaPods安装

一、安装(或者更新)Gem (Gem是管理Ruby库和程序的标准包)

1、更新gem ——  sudo gem udate --system || sudo gem install cocoapods --pre

2、移除原来的org —— gem sources --remove https://rubygems.org/ (亚马逊的云服务在国内被禁用)

3、增加新的org ——  gem sources -a https://ruby.taobao.org/ (如果淘宝源不能用了,可以用Ruby China 社区专注维护的这个源:https://gems.ruby-china.org/)

4、查询gem是否安装完毕 —— gem sources -l

gem -v   查询gem版本 

 sudo gem update --system     升级gem

二、安装Pods

OS X 10.11之前 —— sudo gem install CocoaPods

OS X 10.11之后 —— sudo gem install -n /usr/local/bin cocoapods

pod setup 设置pod仓库  (将Spec项目复制到当前用户的.cocoapods\master目录下,以后的查找、安装使用都是基于该本地目录的)

pod --version 查询当前pod版本

pod repo update  更新本地仓库,本地仓库完成后,即可搜索到指定的第三方库

pod install  安装第三方库

pod update  升级第三方库

pod install --verbose --no-repo-update 安装第三方库不更新本地仓库

pod update --verbose --no-repo-update  更新第三方库不更新本地仓库 

pod repo list —— 结果为0 repos时说明安装不成功

Setting up CocoaPods master repo 表示正在下载 输入"cd ~/.cocoapods/"命令行跳到cocoapods文件夹内,执行"du -sh *"查看正在下载的文件夹的大小

三、卸载CocoaPods

1、查找pod路径,打开终端执行which pod

2、执行 sudo rm -rf 路径 移除RubyGems中的Cocoapods程序包(RubyGems(简称 gems)是一个用于对 Ruby组件进行打包的Ruby打包系统。 它提供一个分发Ruby程序和库的标准格式,还提供一个管理程序包安装的工具。查看gems中本地程序包)

在终端输入 gem list 然后会打印gem下的所有包找到CocoaPods版本号

3、移除程序包 执行命令 sudo gem uninstall cocoapods -v    v为版本号执行完命令后,最下面打印Successfully uninstalled cocoapods -版本号 已经成功卸载了!可以输入gem list再查看下

注意:如果有错误,看看版本号是不是打错了,不该有空格地方有空格,或者打印下gem list看看是不是根本没找到对应的东西

CocoaPods安装可能出现的问题以及解决办法:

1、更新cocoapod的时候会出现Performing a deep fetch of the `master` specs repo to improve future performance

解决办法:pod repo upadte --verboserm -rf ~/.cocoapods/repos/master  移除master库pod setup


2、[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git masterCloning into 'master'...error: RPC failed; curl 56 SSLRead() return error -36fatal: The remote end hung up unexpectedlyfatal: early EOFfatal: index-pack failed

解决办法:输入以下命令pod repo add master https://github.com/CocoaPods/Specs.git

还是报错!输入以下命令:sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer  (只有一个Xcode)

sudo xcode-select -switch /Applications/Xcode X.X.X.app/Contents/Developer(多个Xcode,X.X.X为Xcode名称)

或者输入sudo xcode-select --print-path也可

还是没有安装成功:重新安装

首先,删除.cocoapods目录,在终端输入以下命令:sudo rm -rf ~/.cocoapods/

然后,重新下载安装,在终端输入以下命令:pod setup


3、ERROR:  While executing gem ... (Errno::EPERM)Operation not permitted - /usr/bin/xcodeproj

在终端中输入:sudo nvram boot-args="rootless=0"; 

sudo reboot(电脑重启)

再输入sudo gem install cocoapods -V


4、ERROR: Could not find a valid gem 'cocoapods' (>= 0), here is why:Unable to download data from https://rubygems.org/ - Errno::ETIMEDOUT: Operation timed out - connect(2) (https://rubygems.org/latest_specs.4.8.gz)ERROR: Possible alternatives: cocoa pods

原因:原始的ruby源国内被禁用解决办法:需要替换ruby的源


5、[!] Invalid Podfile file: undefined local variable or method `en_US' for #. Updating CocoaPods might fix the issue.

原因:单引号格式,可能是手动输入导致

解决办法:系统偏好设置-键盘-文本-将“使用智能引号和破折号”一项取消勾选-再将podfile里面的单(双)引号修改一下


6、ArgumentError - invalid byte sequence in US-ASCII

原因:字符集错误

解决办法:使用locale命令查看当前的字符集,如果都是zh,需要执行以下命令:

export LC_ALL=en_US.UTF-8

export LANG=en_US.UTF-8

然后再使用locale命令查看


7、- Use the `$(inherited)` flag, or

- Remove the build settings from the target.

原因:我是在已有项目中集成Cocoapods的时候遇到这个问题,原因是项目 Target 中做了一些设置,CocoaPods 也做了默认的设置,如果两个设置结果不一致,就会造成问题。

解决方法:我想要使用 CocoaPods 中的设置,分别在我的项目中定义PODS_ROOT 和 Other Linker Flags的地方(build settings),把他们的值用$(inherited)替换掉,进入终端,执行 pod update 警告没了,回到 Xcode,build通过。

网上还流行另外一种简单粗暴的方法:点击项目文件 project.xcodeproj,右键显示包内容,用文本编辑器打开project.pbxproj,删除OTHER_LDFLAGS的地方,保存


8、Error installing cocoapods:activesupport requires Ruby version >= 2.3.1.

原因:在安装cocoapods过程中提示需要Ruby的版本在2.3.1以上。

查看当前Ruby版本,输入指令:ruby -v

解决方法:通过rvm安装新版Ruby,输入指令:curl -L get.rvm.io | bash -s stable

重装rvm,输入指令:rvm reload

然后安装Ruby,输入指令:rvm install ruby

如果出现:Requirements installation failed with status: 1.则需要输入:

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

第二行:rvm autolibs read-only # read more here:https://rvm.io/rvm/autolibs

第三行,再次安装:rvm install ruby


9、The dependency `` is not used in any concrete target

原因以及解决办法:Podfile升级之后到1.0.0版本,Pod里的内容必须明确指出所用第三方库的target,所以在podfile文件需要明确:

target “YOUR_TARGRT_NAME” do

...

end


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

Operation not permitted - /usr/bin/update_rubygems

原因以及解决办法:Mac OSX 10.11不能使用sudo gem update —system了,需要替换成:sudo gem update-n /usr/local/bin —system


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

Operation not permitted - /usr/bin/pod

原因以及解决办法:Mac OSX 10.11不能使用sudo gem install cocoapods了,需要替换成:sudo gem install -n /usr/local/bin cocoapods

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值