安装cocoapods遇到的问题总结

来源:互联网 发布:南昌网络教育 编辑:程序博客网 时间:2024/06/07 09:17

  • 问题一卡在setting up master repos过不去
  • 问题二升级ruby
  • 问题三homebrew 出问题 brew install无法运行
  • 问题四ruby和gem到底什么关系
  • 问题五当前可用的rubygem的下载源

问题一:卡在setting up master repos过不去

运行 pod setup之后,卡在上面那句话过不去。可以尝试自己直接到~/.cocoapods/repos下构建一个master:
在终端,cd到~/.cocoapods/repos下
然后运行git clone https://github.com/CocoaPods/Specs.git master
运行这句话,如果可以就可以啦,如果不可以也可以看到git报错。然后继续解决。
想快点看到下载进度的话,可以打开mac上的活动监视器(这个东西一般在launchpad的“其他”分类里面),然后点击上面的“网络”分页,然后在下面找到进程名称是git-remote-https这一项,看看接受的包数量是不是一直在增加就好。
这里写图片描述
如果从上面git的报错中得不到什么继续解决的灵感,那就考虑,先升级ruby,再重新进行cocoapods的安装吧。

问题二:升级ruby

系统自带ruby,但所谓的升级ruby,其实往往不会对系统自带的ruby动手,而是直接安装一个更高版本的ruby,然后设置在终端默认使用这个高版本的ruby来下载cocoapods。这时叫用到一个工具rvm (ruby version manager)。
安装rvm
\curl -sSL https://get.rvm.io | bash -s stable
安装好了以后
运行rvm requirements
这时,rvm会针对当前系统安装一些依赖,为之后安装ruby做好准备。
我在运行这个过程中强制中断,后来再次运行就一直报错过不了,这时可以打开rvm的检错功能,让它把详细错误信息打印出来。
rvm autolibs enable
rvm autolibs read-fail
再次运行rvm requirements
这样通过错误信息可以知道错在哪里,或者至少知道在哪句话开始卡住,然后有地方可以去查。
而我是卡在brew install libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev libncurses5-dev automake libtool bison libffi-dev这句话上了
这时才知道,其实rvm安装依赖的时候还是使用了homebrew来安装的。这么一看,莫非是homebrew出现了问题。

问题三:homebrew 出问题 brew install….无法运行

于是就查了一下,得知homebrew是套件管理器,用来安装各种packages到mac上,然后将他们链接到/usr/local/。当homebrew出现问题的时候,在终端运行brew update两次,然后再运行brew doctor可以找出问题。
于是我就这么干了,从打印出来的信息可以看到,说在/usr/local/下有许多不应该出现的文件,建议删掉,我一看才知道,这肯定是因为之前下载过程中强制退出导致已下载的文件对再次下载造成了冲突,于是我就把那一列文件全部手动删除,然后再次运行brew install。。。后面一大串省略,就可以过了。
于是乎,homebrew有问题的话,就按上面的方法找出问题,然后再根据问题去慢慢解决即可。
接着上面的,再次运行rvm requirements就通过啦!
使用rvm安装本机可用的最新版本ruby并设置成默认ruby:
rvm install ruby —安装最新版本ruby,我的是2.3.0
rvm use 2.3.0 —使用版本为2.3.0的ruby
至此ruby安装完毕。
然后就可以使用它来安装cocoapods了。不过。。。继续看

问题四:ruby和gem到底什么关系

ruby是脚本语言,所谓的安装ruby是安装ruby的运行环境,我们升级ruby就是更新了ruby运行环境。而rubygem是ruby的套件管理框架,保险起见,对它也进行升级:
终端中运行
这一句
gem update --system
这两句
gem install rubygems-update
update_rubygems

接下来终于可以gem install cocoapods
一切重头来过,结果一切顺利。

问题五:当前可用的rubygem的下载源

如果安装cocoapods很久的话(我反正没有),可以给rubygem换个下载源,目前taobao的不能用了,用这个:
https://gems.ruby-china.org/
所以先看看当前的源
gem sources -l
不是https://gems.ruby-china.org/ 的话才换对吧
要换先把移除原来的源移除
gem sources --remove 原来的源
然后把https://gems.ruby-china.org/加上
gem sources --add https://gems.ruby-china.org/
再次查看当前的源,如果只有https://gems.ruby-china.org/的话就成功了。
gem sources -l

0 0
原创粉丝点击