系统版本:macOS Sierra 10.12.6git
Xcode: v9.2(9C40b)github
貌似只能使用终端命令行json
$ sudo gem update --system
上面这个方法在CocoaPods 1.0以后应该是不行了,有可能会出现如下错误vim
Operation not permitted - /usr/bin/update_rubygems
在stackoverflow.com中找到了答案缓存
$ sudo gem update -n /usr/local/bin --system
注意ruby
其实在命令行中系统就提示了解决办法
/usr/bin/update_rubygems
bash
首先 先移除现有的Ruby原生的镜像网络
$ gem sources --remove https://rubygems.org/
再添加国内的镜像源curl
$ gem sources -a https://gems.ruby-china.org/
注意
国内淘宝的镜像源已经不更新了工具
更新完毕以后经过命令行来查看当前的镜像源
$ gem sources -l
成功则显示以下
失败则重复执行 $ gem sources -a https://gems.ruby-china.org/
提示
在Mac OSX 10.9 CocoaPods 还在0.9 时期 安装CocoaPods 的命令是
$ sudo gem install cocoapods
在Mac OSX 10.10以后 CocoaPods 已经升级到了1.0.0 命令已经变动为
$ sudo gem install -n /usr/local/bin cocoapods
执行命令
$ sudo gem install -n /usr/local/bin cocoapods
成功则出现如图所示
执行命令
$ pod setup
这时会出现 Setting up CocoaPods master repo
须要等待一段时间
使用命令查看pod的版本号
$ pod --version
控制台输出 1.4.0
说明已经成功安装了CocoaPods
接下来须要 cd
到你的工程中
$ cd /Users/maybe/Desktop/testCocoaPods
我新建了一个项目 项目名为
testCocoaPods
touch podFile
经过vim命令在工程中建立一个podFile
文件
open podFile
经过vim命令打开该文件
配置好podFile文件,保存。
pod install
经过该命令下载
vim中表示已经下载完成,能够关闭当前Xcode项目,使用
testCocoaPods.xcworkspace
在这里 已经能够正常的使用CocoaPods了
解决办法
repo
$ pod repo update
若是更新不下来,或者更新下来仍是没有你须要的版本,就能够尝试升级pod版本。
1.3.1 升级 1.4.0 的时候我就发现有这个问题,直接更新repo不行,须要更新pod版本才能搜到最新版本的第三方库
这时候按照上面的方法执行下去,从新安装一遍 pod 就能够,注意查看下pod版本时候是否有更新。
有时候可能更新下来仍是搜索不到,能够尝试使用命令来处理下
rm ~/Library/Caches/CocoaPods/search_index.json
来删除索引
成功删除缓存文件,终端是没有提示的,Unix的尿性就是没有提示就是成功意思。
这时从新发起搜索
Creating search index for spec repo 'master'..
须要等待一会,正在从新创建索引
稍微等待几分钟就能够从新搜索到。
卸载命令
$ sudo gem uninstall cocoapods
可进入文件夹中查看repo
$ cd ~/.cocoapods
卸载完成后,这个文件夹会被清空
当咱们使用pod update
或者 pod repo update
时,可能会出现 [!] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down
问题
一开始我认为是网络问题,后来频繁的出现我发现是连接github出现了问题。
在stackoverflow 我找到了解决办法。
在这里能够看到出现这个问题的缘由,以及解决的办法
2018年2月以后,其中一个主要问题是“弱密码标准被删除”。
To solve this, first you need to update openssl, then ruby, then cocoapod.
开始搬运代码
$ which openssl /usr/bin/openssl $ openssl version OpenSSL 0.9.8zh 14 Jan 2016 $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" $ brew update $ brew install openssl $ brew upgrade openssl `` If you need to have this software first in your PATH run: echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile $ echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile $ source ~/.bash_profile $ which openssl /usr/local/opt/openssl/bin/openssl $ openssl version OpenSSL 1.0.2n 7 Dec 2017 $ brew install rbenv ruby-build $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile $ echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile $ source ~/.bash_profile $ rbenv install --list Available versions: 1.8.5-p52 1.8.5-p113 1.8.5-p114 1.8.5-p115 1.8.5-p231 1.8.6 : 2.5.0-rc1 2.5.0 2.6.0-dev : $ rbenv install 2.5.0 $ rbenv versions * system (set by /Users/username/.rbenv/version) 2.5.0 $ ruby --version ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16] $ rbenv global 2.5.0 $ rbenv versions system * 2.5.0 (set by /Users/username/.rbenv/version) $ ruby --version ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin16] $ gem install cocoapods -n /usr/local/bin $ which pod /usr/local/bin/pod $ pod --version 1.4.0
成功走到最后,则表明安装成功了,能够放心的pod update
和 pod repo update
了
Ruby选择的版本必须是大于2.0.0版本,最好是选择最新的例如 2.5.0 或者 2.5.1
在 2018.4.24你pod可能更新的是1.5.0版本,这个关系不大
还有一种解决方案 是每次须要更新你的repo时,将老版本的repo删除,从新下载
$sudo rm -fr ~/.cocoapods/repos/master $pod setup $pod install
在使用CocoaPods添加第三方库类库时,不管是执行`pod install
仍是pod update
时,常常会卡在Analyzing dependencies
,这是由于在更新本地 pod spec
文件致使的。经过no-repo-update
标志能够不更新本地 pod spec
索引。
注意:第一次建立CocoaPods时不能使用,须要更新本地repo时不能使用
pod install --no-repo-update pod update --no-repo-update
打印详细日志
pod update -verbose