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
网友评论