開始的時候,我僅想升級一下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
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,人家在好好運行,別輕易關閉終端。
貼出幾篇大神解決問題的鏈接: