標籤:

管理 iOS 項目的 Ruby 依賴

管理 iOS 項目的 Ruby 依賴

來自專欄 Prelude

在多人協作的環境里管理依賴一致性是一件很蛋疼的事情。

就拿使用 CocoaPods 的團隊來說,在某個時間點,你想把它升級到某個版本,

最挫的辦法是通知所有人(包括 CI)都升級到特定的版本,保持版本的一致,但這不能解決 dev,master 分支的問題,要升就得全升級,不然不同版本間會互相影響;

比較好一點的方式是在工程 setup 的腳本裡面檢測依賴的版本,並幫使用者自動升級到該版本,比如像這樣,就不用關心 master,dev 分支依賴一致性的問題了,用哪個分支的代碼依賴的就是哪個版本,缺點是需要編寫腳本,麻煩;

最好的方式就是使用 bundler 來管理依賴了,只需要創建一個 Gemfile,每次 setup 的時候執行bundle install ,所有開發者的 ruby 依賴就都是一致了的。

如何使用

如果你的工程從未集成過 bundler,那麼需要使用 bundle init 創建出 Gemfile,

> bundle initWriting new Gemfile to /xxx/Gemfile

然後修改 Gemfile,具體可以加什麼內容可以看這裡

source "https://rubygems.org"gem CocoaPods, 1.5

這樣就 ok 了,每次 setup 工程的時候,執行 bundle install 就可以保證大家的依賴都是一致的。升級版本只需要修改一下版本號,一切就是這樣簡單


寫到這裡,我還想分享一下我 setup 工程的方式,那就是使用 Makefile。這是我在 KickStarter 開源的工程里學到的。一層簡單的封裝不光把初始化一個工程的一連串操作都包在了一起,還把這個過程地入口變得足夠簡單,一句 make 足矣。


推薦閱讀:

從 0 到 1 搭建移動 App 功能自動化測試平台 (4):自動化測試代碼?工程化?
ruby語言前景如何?
追求客戶端和伺服器編程語言的一致有多大的意義?
為什麼在國內 Python 比 Ruby 更流行?
想快速了解 Rails 3,有什麼值得推薦的好書?

TAG:Ruby | iOS開發 |