Cocoapods更改安裝版本及卸載、ruby版本檢測和安裝

修改於:2017.1.10
咱們實際過程當中會遇到不少的問題,而且各式各樣,特別是各類系統、工具版本升級後遇到的問題,最後的殺手鐗就是完全刪乾淨,重裝。
一. 移除pod組件
這條指令會告訴你Cocoapods組件裝在哪裏 :

$ which podhtml

/Users/galahad/.rvm/gems/ruby-2.2.2/bin/pod sublime-text

/usr/local/bin/podapi

你能夠手動移除這個組件 :
sudo rm -rf <組件的路徑>
sudo rm -rf  /Users/galahad/.rvm/gems/ruby-2.2.2/bin/pod
sudo rm -rf  /usr/local/bin/pod
 
二. 移除 RubyGems 中的 Cocoapods程序包

 Q: RubyGems是什麼?緩存

 A: RubyGems(簡稱 gems)是一個用於對 Ruby組件進行打包的系統。 它提供一個分發 Ruby 程序和庫的標準格式,還提供一個管理程序包安裝的工具。ruby

 查看gems中本地程序包
移除程序包
$sudo gem uninstall cocoapods -v 1.1.1
須要將cocoapods相關的所有移除,就要執行一個個的刪除命令,仿照上面依次刪除。
注意:這一步很重要,在按照本文進行操做的時候,乾脆在這裏就所有刪掉好了,不要偷懶,我偷懶的結果就是終端進程殺掉之後,再進來的話就報以下錯誤:find_spec_for_exe': can't find gem cocoapods (>= 0.a) (Gem::GemNotFoundException) from /Users/sibo/.rvm/rubies/ruby-2.3.3-p648/lib/ruby/site_ruby/2.3.3/rubygems.rb:278:inactivate_bin_path'
解決方式就是所有刪掉,而後重裝,省事。

3、ruby版本是否合適?乾脆重裝

使用RVM也就是Ruby Version Manager,Ruby版本管理器來升級ruby,RVM包含了Ruby的版本管理和Gem庫管理(gemset)。

RVM安裝

一、RVM安裝

$ curl -L get.rvm.io | bash -s stable

二、以後就是等待一段時間以後,就能夠安裝成功了,使用如下命令來驗證

$ source ~/.bashrc

$ source ~/.bash_profile

三、測試是否安裝正常

$ rvm -v

出現rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]就算成功了。

使用RVM升級Ruby

一、查看當前ruby版本

$ ruby -v

這一步會顯示出來當前ruby的版本

ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]

二、列出已知ruby的版本

$ rvm list known

個人電腦上面會出現下面這些信息:

Warning, new version of rvm available '1.28.0', you are using older version '1.27.0'.

You can disable this warning with:    echo rvm_autoupdate_flag=0 >> ~/.rvmrc

You can enable  auto-update  with:    echo rvm_autoupdate_flag=2 >> ~/.rvmrc

.......

我麼先按照提示進行升級。

[ruby-]1.8.6[-p420]

[ruby-]1.8.7[-head] # security released on head

[ruby-]1.9.1[-p431]

[ruby-]1.9.2[-p330]

[ruby-]1.9.3[-p551]

[ruby-]2.0.0[-p648]

[ruby-]2.1[.10]

[ruby-]2.2[.6]

[ruby-]2.3[.3]

[ruby-]2.4[.0-rc1]

ruby-head

其中Ruby 2.4.0 rc1 表示 2.4 首個候選版

咱們能夠安裝2.3.3版本

三、安裝ruby 2.3.3

$ rvm install 2.3.3

若是安裝以下所示的話,表示已經安裝過

$ rvm install 2.3.3

Already installed ruby-2.3.3.

To reinstall use:

    rvm reinstall ruby-2.3.3

若是想從新安裝的話:rvm reinstall ruby-2.3.3  

正常狀況下面:

Checking requirements for osx.

Updating Homebrew...

Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.

Requirements installation successful.

之前安裝的過程當中遇到的問題以及解決方法:

一、homeBrew版本太低

解決方法:sudo chown -R $(whoami):admin /usr/local

輸入密碼後從新執行brew update,最後提示Already up-to-date的時候,brew自己就更新好了(這個過程比較久).

接着用brew outdated命令查看brew下哪些軟件能夠進行升級.
而後brew upgrade命令用來升級因此能夠升級的軟件.
最後記得用brew cleanup來清理不須要的版本及其安裝包緩存.
截止目前,brew也被咱們更新好了.

二、注意事項:安裝CocoaPots的順序:

Xcode -> homebrew -> RVM -> Ruby -> CocoaPos;
三、在安裝的過程當中遇到這個紅色的問題,能夠不用慣,會自動繼續執行下去的

Libraries missing for ruby-2.3.3: /Users/travis/.rvm/rubies/ruby-2.3.3/lib/libruby.2.3.0.dylib,/usr/local/opt/gdbm/lib/libgdbm.4.dylib. Refer to your system manual for installing libraries

四、我在安裝ruby-2.3.3的時候發現還有一個錯誤

Error running '__rvm_patch -F 25 -p1 -N -f -i /Users/galahad/.rvm/patches/ruby/2.3.3/openssl3.patch',

showing last 15 lines of /Users/galahad/.rvm/log/1484210020_ruby-2.3.3/patch.apply.openssl3.log

Error running '__rvm_make -j 1',

showing last 15 lines of /Users/galahad/.rvm/log/1484210020_ruby-2.3.3/make.log

dyld: lazy symbol binding failed: Symbol not found: _clock_gettime

  Referenced from: /Users/galahad/.rvm/src/ruby-2.3.3/./miniruby (which was built for Mac OS X 10.12)

  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _clock_gettime

  Referenced from: /Users/galahad/.rvm/src/ruby-2.3.3/./miniruby (which was built for Mac OS X 10.12)

  Expected in: /usr/lib/libSystem.B.dylib

make: *** [.rbconfig.time] Trace/BPT trap: 5

++ return 2

There has been an error while running make. Halting the installation.

安裝2.3.3版本的時候,老是報這個錯誤,才意識到本身的電腦系統仍是10.11.6。更新mac系統到最新版本便可。

五、安裝2.3.3成功後,路徑不對

$ pod install

/Library/Ruby/Site/2.0.0/rubygems.rb:270:in `find_spec_for_exe': can't find gem cocoapods (>= 0.a) (Gem::GemNotFoundException)

from /Library/Ruby/Site/2.0.0/rubygems.rb:298:in `activate_bin_path'

from /usr/local/bin/pod:22:in `<main>'

問題再現描述:關閉終端,再進來就恢復原來的版本了,解決方式對應下面的「ruby安裝成功後,路徑適配

問題再現描述:關閉終端,再從新啓動就出現上面的問題,解決方式:解決路徑的適配問題的同時參考上面「移除 RubyGems 中的 Cocoapods程序包」進行解決

ruby安裝成功後,路徑適配

須要執行命令:

$ rvm use system  

設置回系統默認版本: 

$ rvm 2.3.3--default  

設置某個版本爲默認(前提是這個版本已經安裝,若是沒有安裝的話:rvm install ruby-2.3.3-default 便可

$ ruby -v

ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]

4、而後安裝指定版本的Cocoapods

gem install cocoapods --pre  (最新版本,若是最新版不穩定的話,建議不要執行,由於獲得的也包括測試版)

也能夠指定安裝版本:

sudo gem install cocoapods -v 1.1.1 

或者直接安裝最新正式版本:

$ sudo gem install -n /usr/local/bin cocoapods

安裝成功後,能夠檢查安裝的版本
$ pod --version

也能夠參考參考:http://www.cnblogs.com/richard-youth/p/4508049.html

相關文章
相關標籤/搜索