rvm RuvyGem Cocoapods brew
开始的时候,我仅想升级一下cocoapods的版本,因为我xcode报三十多个相似警告,说第三方找不到相应文件,我看cocoapods版本有1.0.1,而我使用的依旧是1.0.0的老版本。
当我升级cocoapods时,需要使用gem来更新cocoapods,那么我就终端输入命令:gem install cocoapods,可是终端提示我没有权限来改动一个文件,我以为是我的权限不够,就使用了管理员权限,sudo gem install cocoapods,可是系统依然提示我:就算你升级了权限,也不建议修改系统使用的rubygem,也建议我,如果非要更改,那么还要升级权限root级别。大学学过Linux系统,root是最高权限了,你都可以删除系统文件,更可以自己给自己删除掉,且是不可恢复的,或不易恢复的,我觉得为了一个cocoapods没必要冒那么大风险。
我就开始查找有关rubygem相关资料,首先要知道是干啥的啊,其实也没查懂,大体知道是系统用来管理软件包的安装和升级等一系列问题的。大家也都了解Mac电脑的系统OS X系统就是Linux的衍生体,硬盘是没有像windows的分区概念的,所以软件管理和文件管理要较先进一点,解放了手工管理。rubygem正是代替我们管理的一种智能工具。可是工具也是会升级的,而且OS X系统是会自带一个ruby的,此ruby也正是之前提示我不要轻易修改的那个ruby,可是我不更改,我就升级不了cocoapods,所以必须要升级ruby。
经过了解,ruby也不是一棒子打死的,是个很灵活的管理软件,一个电脑可以安装多个版本ruby,为什么会这样呢。因为软件的升级是不同步的,维护的投入更不一样,一个软件升级了,他需要ruby提高管理软件的效能,那么ruby升级了,但是有的软件没升级,并且依然依赖于之前老版本的ruby,所以就有了多版本ruby的问题,也拥有了版本切换功能,那么这么多的高级经理,由我们人类管理吗?如果是这样,就可以回归到windows算了,文件和软件都管理不来,还让我管理他们的老大,这不是扯淡吗?
rvm就是管理这些大佬的,我之前不懂rvm,更不知道这东西有啥用呢,只是从各种安装升级的过程中,先驱们的指引,那么我就检查。OS X被我发现一个相当有意思的功能,如果你安装了cocoapods,那么你就在终端直接输入pod+回车,就会输出基本使用信息,如果你安装了rubygem(简称gem),那么你就简单输入gem+回车,同样输出基本使用信息。我用类似方法,检查是否安装rvm,我在终端输入rvm+回车,然而终端并没有输出有关信息,那么给我的感觉就是,我电脑并没有安装这个管理大佬的牛掰。
安装的过程很顺利,任意找了一个博客就安装成功了,rvm+回车,有了信息了,那么我使用常用软件查看rvm管理的rubygem版本:rvm list known输出说我没有安装。
此处要说一下,也可能是我理解错误,因为我使用rvm list命令就显示了当前可使用的所有ruby版本,所以我怀疑,这个牛掰好像也仅管理ruby,并不管理其他的什么东西,此处也是疑问点,求大神斧正。
当我查到有ruby的哪些版本后,我就选择了一个较新的版本,rvm install 2.3.0,结果等了一下下就报错了,让我检车brew update是否能正常运行?我就想,brew update又是什么鬼?这里不谈了,因为我确实也不懂。
此时就一直报错,我要将错误代码贴出来,因为这货困扰我两天了,没整过去,还害得我安装了太多brew的什么软件,各种brew install xxxx,以为有用呢,嗨。。。然并卵!
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.11/x86_64/ruby-2.3.0.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Installing requirements for osx.
Updating system.......
Error running 'requirements_osx_brew_update_system ruby-2.3.0',
showing last 15 lines of /Users/DuQ/.rvm/log/1471488521_ruby-2.3.0/update_system.log
https://github.com/Homebrew/homebrew/wiki/Common-Issues
and make sure `brew update` works before continuing.'
++ rvm_pretty_print stderr
++ case "${rvm_pretty_print_flag:=auto}" in
++ case "${TERM:-dumb}" in
++ case "$1" in
++ [[ -t 2 ]]
++ return 1
++ printf %b 'Failed to update Homebrew, follow instructions here:
https://github.com/Homebrew/homebrew/wiki/Common-Issues
and make sure `brew update` works before continuing.\n'
Failed to update Homebrew, follow instructions here:
https://github.com/Homebrew/homebrew/wiki/Common-Issues
and make sure `brew update` works before continuing.
++ return 1
No binary rubies available for: osx/10.11/x86_64/ruby-2.3.0.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Installing requirements for osx.
Updating system.......
Error running 'requirements_osx_brew_update_system ruby-2.3.0',
showing last 15 lines of /Users/DuQ/.rvm/log/1471488521_ruby-2.3.0/update_system.log
https://github.com/Homebrew/homebrew/wiki/Common-Issues
and make sure `brew update` works before continuing.'
++ rvm_pretty_print stderr
++ case "${rvm_pretty_print_flag:=auto}" in
++ case "${TERM:-dumb}" in
++ case "$1" in
++ [[ -t 2 ]]
++ return 1
++ printf %b 'Failed to update Homebrew, follow instructions here:
https://github.com/Homebrew/homebrew/wiki/Common-Issues
and make sure `brew update` works before continuing.\n'
Failed to update Homebrew, follow instructions here:
https://github.com/Homebrew/homebrew/wiki/Common-Issues
and make sure `brew update` works before continuing.
++ return 1
Requirements installation failed with status: 1.
我可以直接在这里继续说吗?我解决了,那开心,无以言表啊!
其实这也代表了我以后解决问题方向,不能完全的遇到啥问题就去百度相关关键字,应该认真的看问题的描述,歪果仁都在问题里写了相关的,但是我还是去相信Google和百度是真的,我要自信!!!
上边写了“brew update”,但是我之前不知道brew是啥东西,所以就不敢贸然更改,以为这个brew是不是跟rvm一样,是一个牛掰管理大佬的东西,类似于小红帽与360管家和QQ电脑管家一样呢,同样的功能,但是工具不同,要是真是这样,可不是好现象,不但他们打官司不说,也影响用户使用这才是最主要的事。
但是后来我还是选择相信我自己,去碰硬骨头,啃下brew update来。brew的更新可不容,找他的资料可是找了相当久的,最后在一篇最近的文档发现了,就一句话sudo chown -R $(whoami) /usr/local,救命稻草啊!
这段话输入后,brew就可以更新了,所有问题都迎刃而解了,什么rvm安装ruby啊,什么gem安装cocoapods啊,通盘杀!杀杀杀!!!话说秒杀的感觉真好。
写在后面:
这次有两点收获:
一个是遇到问题,先认真的看问题,虽然都是英文,先大体分析一下,而不是抓住几个词汇猛搜;
另一个,Linux最大的现象就是,他没有输出就是最好的输出,千万别拿起自行车的心里和技巧来骑三轮车,以为卡死了?no no no,人家在好好运行,别轻易关闭终端。
贴出几篇大神解决问题的连接:
http://www.cnblogs.com/woojuno/p/3946051.html(不知道安装这些brew是不是起了作用)