ruby-china更改域名后的更新。
由于国内网络原因,mac自带的ruby源https://rubygems.org/使用亚马逊云服务,访问速度太慢或者无法访问,需要将其移除更改为国内有人正在维护的源https://gems.ruby-china.com/。
一、更改当前ruby源为ruby-china
1、查看当前ruby源
打开Terminal(Mac->Launchpad->其他->终端),输入以下命令:
$ gem sources -l
之前已经安装过旧域名的源,https://rubygems.org/则显示为之前安装的https://gems.ruby-china.org/
2、移除已经存在的源,设置为ruby-china源
输入以下命令:
$ gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
已安装过的以上命令改为$ gem sources --add https://gems.ruby-china.com/ --remove https://gems.ruby-china.org/
3、再次查看当前ruby源
输入以下命令:
gem sources -l
此时ruby源已经设置成功了,Ruby镜像确保只有ruby-china。
二、更新gem为最新版本
ruby-china建议尽可能用比较新的 RubyGems 版本,如果gem版本太低则需要升级。
1、查询当前gem版本
输入以下命令:
$ gem -v
2、更新gem
输入以下命令:
$ gem update --system
从后面的安装发现,此时gem并没有更新成功,输入以下命令:
$ sudo gem update --system
下面才是升级gem成功的图,内容太多只截取了开头和结尾:
3、再次查询当前gem版本
输入以下命令:
$ gem -v
三、安装cocoapods
1、输入安装命令
输入以下命令:
$ sudo gem install -n /usr/local/bin cocoapods
如果需要输入密码请输入本机密码(注:密码并不会显示,输入完成回车即可)
但是并没有安装成功,报错如下图:
解决办法,输入以下命令:
$ sudo gem update --system
然后输入本机密码(注:密码并不会显示,输入完成回车即可)
ruby-china建议使用新的 RubyGems 版本,建议 2.6.x 以上。
再次查询当前gem版本,输入以下命令:
$ gem -v
再次输入安装命令:
$ sudo gem install -n /usr/local/bin cocoapods
如果需要输入密码请输入本机密码(注:密码并不会显示,输入完成回车即可)
之后就等着安装成功就好了,需要等几分钟的。
安装成功后如下图,由于内容太多这里只截取了后面的一部分:
使用另一个安装命令$ sudo gem install cocoapods
会由于ssl证书问题导致报错。
从ruby-china官网找到解决办法:
如果遇到 SSL 证书问题,你又无法解决,请直接用 http://gems.ruby-china.com 避免 SSL 的问题。
已经安装https的可以remove然后add即可换为http。
如果能解决ssl问题,请忽略上面的解决办法。
使用http://gems.ruby-china.com避免ssl的问题,再次安装还是会出现Gem::DependencyError的错误,解决办法同上。
2、初始化pod
输入以下命令:
$ pod setup
这里需要多等一段时间,完成后如下图:
此时出现了报错,并没有安装完成,前往文件夹~/.cocoapods查看内容为空。不过没有关系,接下来看看能不能使用pod。也可以再次$ pod setup
,出现Setup completed即为完成(再次$ pod setup
后可省略下面的第4步:4、检查pod能不能使用)。
3、查看pod版本
输入以下命令:
$ pod --version
版本号为1.2.1,说明已经存在了pod。
4、检查pod能不能使用
使用pod的搜索功能验证,输入以下命令:
$ pod search AsyncSocket
由于上面setup没有成功,所以这里会再次自动setup,需要等一段时间,完成后如下图:
但是此时搜索并没有成功,错误提示如下图:
最后再解决搜索不成功的问题,这里先看看能不能下载三方库成功。
5、使用cocoapods下载三方库
使用cd命令进入创建好的项目总目录,下面是我的项目的目录,改成自己的项目目录就行:
$ cd Desktop/learn/CocoaAsyncSocket-pod/
然后在当前目录下用vim创建Podfile:
$ vim Podfile
按下i
按键,Podfile文件变为可编辑状态,在其中输入以下内容,:
platform :ios, '8.0'
target 'CocoaAsyncSocket-pod' do
pod 'CocoaAsyncSocket', '~>7.6.1'
end
Podfile文件解释如下:
platform :ios, '8.0'
# ios是开发平台,8.0是最低支持的版本,8.0不写默认为最新版本。
target 'CocoaAsyncSocket-pod' do
# 引号里的CocoaAsyncSocket-pod是需要下载三方库的项目名称。
pod 'CocoaAsyncSocket', '~>7.6.1'
# CocoaAsyncSocket是需要下载的三方库名称,7.6.1是三方库的版本号,不写默认为最新版本。
Podfile文件内容输入完成以后,按下esc
按键退出编辑状态,接着输入以下命令回车保存并退出vim:
:wq
之后就发现项目总目录下多了一个Podfile文件,Podfile文件与工程文件.xcodeproj在同一个目录。
回到终端,在需要下载三方库的项目总目录下,输入以下命令:
$ pod install
下载三方库成功后,以后打开项目就用 .xcworkspace 打开,而不是之前的.xcodeproj文件,否则无法关联pod下来的类库。
6、三方库的更新
使用cd命令进入创建好的项目总目录,下面是我的项目的目录,改成自己的项目目录就行:
$ cd Desktop/learn/CocoaAsyncSocket-pod/
然后在当前目录下用vim创建Podfile:
$ vim Podfile
按下i
按键,Podfile文件变为可编辑状态,在其中输入以下内容,:
platform :ios, '8.0'
target 'CocoaAsyncSocket-pod' do
pod 'CocoaAsyncSocket', '~>7.6.1'
end
'~>7.6.1'为想要更新得版本号,Podfile文件内容输入完成以后,按下esc
按键退出编辑状态,接着输入以下命令保存并退出vim:
:wq
回到终端,在需要下载三方库的项目总目录下,输入以下命令:
$ pod update
7、搜索报错问题的解决
删除cocoapods的索引,输入以下命令:
$ rm ~/Library/Caches/CocoaPods/search_index.json
删除成功后再执行搜索:
$ pod search asyncsocket
如果遇到了这里没有列的问题,可以到下面的参考链接找解决办法。
参考链接:
最新 macOS Sierra 10.12.3 安装CocoaPods及使用详解
更换ruby官方源到非taboo源的另一源:ruby-china源方法
CocoaPods安装和错误解决
OS X 10.11 安装Cocoapods 出现问题的解决方法
cocoapods 安装过程中的遇到的问题
macOS && Xcode8安装RVM,安装Ruby,安装/卸载Cococapods全程详解
CocoaPods: pod search 搜索类库失败的解决办法