CocoaPods更新 1.1.0版本,以及遇到的問題

由于眾所周知的原因,國內并不能訪問到官方的 Ruby 源,所以大部分朋友可能都是使用的國內的鏡像源。而這里面,使用的最多的,可能就是淘寶提供的鏡像源了。不過最近淘寶的鏡像源 ruby.taobao.org 停止更新了,所以使用 CocoaPods 的同學,請更新到 ruby china 的源。詳細的內容,請參見:https://ruby-china.org/topics/29250。

另一方面 , CocoaPods 最近也升級到了 1.1.0 版本,主要是增加了對 Xcode 8 的支持。


RubyGems 一直以來在國內都非常難訪問到,在本地你或許可以翻墻,當你要發布上線的時候,你就很難搞了!

這是一個完整 RubyGems 鏡像,你可以用此代替官方版本,我們是基于國內 CDN + 國外服務器的方式,能確保幾乎無延遲的同步。


請盡可能用比較新的 RubyGems 版本,建議 2.6.x 以上。

$ gem update --system # 這里請翻墻一下

$ gem -v

2.6.3

$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/

$ gem sources -l

https://gems.ruby-china.org

# 確保只有 gems.ruby-china.org

如果你使用 Gemfile 和 Bundle (例如:Rails 項目)

你可以用 Bundler 的 Gem 源代碼鏡像命令。

$ bundle config mirror.https://rubygems.org https://gems.ruby-china.org

這樣你不用改你的 Gemfile 的 source。

source 'https://rubygems.org/'

gem 'rails', '4.2.5'

...

常見問題?

如果遇到 SSL 證書問題,你又無法解決,請直接用 http://gems.ruby-china.org 避免 SSL 的問題。

如果你在意 Gem 下載的安全問題,請正確安裝 Ruby、OpenSSL,建議部署 Linux 服務器的時候采用 這個 RVM 安裝腳本 的方式安裝 Ruby。

Bundler::GemspecError: Could not read gem at /home/xxx/.rvm/gems/ruby-2.1.8/cache/rugged-0.23.3.gem. It may be corrupted.,這類錯誤是網絡原因下載到了壞掉的文件到本地,請直接刪除那個文件。

請珍惜社區資源,勿基于本鏡像做二次鏡像網站,我們會定期檢查 CDN 請求量統計,單日請求量過大(流量超過 20G) 的 IP 將會被永久屏蔽。


Tip:

錯誤:ERROR:? SSL verification error at depth 1: unable to get local issuer certificate (20)

ERROR:? You must add /C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Certification Authority to your local trusted store

ERROR:? SSL verification error at depth 2: self signed certificate in certificate chain (19)

ERROR:? Root certificate is not trusted (/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA)

這是由于Ruby環境需要2.2版本以上,所以要更新Ruby環境,開始的時候就有建議你升級到2.6版本,可能沒仔細看。

解決

更新Ruby環境

0.首先要安裝Homebrew終端輸入這條命令即可/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

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

2.裝載rvm$ source ~/.rvm/scripts/rvm

3.安裝2.3.0版本ruby$ rvm install 2.3.0

4.將2.3.0設為默認$ rvm use 2.3.0 --default

證書錯誤問題

$cd ?$rvm_path/usr/ssl

$ sudo curl -O http://curl.haxx.se/ca/cacert.pem

$ sudo mv cacert.pem cert.pem

理論上應該解決了。

錯誤解決參考了Senjougahara http://www.lxweimin.com/p/17043faee2e6文章。

但是我的還是不行:繼續用以下方法:

參考:https://segmentfault.com/q/1010000002926243

加了一句:sudo gem install -n /usr/local/bin cocoapods --pre

可以了

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容