我最近開始創建一個私有gem(我可以保證沒有人使用它)來封裝利基數據庫的JDBC驅動程序。我最終只是發佈了一個我想要做一個解決方案的gem版本。通過替換整個gem重新發布RubyGems上的gem?
我明白如何yank一個寶石版本,以及碰撞版本號和發佈的常見解決方案,這在大多數情況下是有意義的。然而,對我而言,這並不是那麼簡單,因爲我希望使用與捆綁的數據庫驅動程序相同的gem版本(這似乎是一種常見做法),所以顛覆版本號不是一種選擇。由於數據庫版本中有字母字符,導致~>
操作符不可用(所有版本都被視爲預發行版),所以我也無法做一些巧妙的事情,比如向數據庫版本號添加.1
後綴。總之,我需要那個確切的版本號。
我的問題是,如果我在RubyGems的名字池抽出所有寶石的版本使寶石的名字再次可用,我可以重新聲明寶石名稱,並用同樣的寶石版本推不同的代碼我以前使用?
我不擔心將驅動程序版本匹配到您的寶石版本。也許主要版本可以匹配,但通常這隻會導致你的問題。如果您想在發佈時間表之外發布,該怎麼辦?你如何告訴用戶關於重大變更(通常是主要版本增量)?這總是取決於你,但我會避免它。 – Travis
是的,這絕對是一個棘手的問題。這個包裝器非常簡單(它實際上只是'需要'來加載.jar文件,因爲驅動程序是專有的),所以一旦我準備向公衆發佈,它不應該因爲緊急情況而需要改變或類似的東西。下次我將在發佈到RubyGems之前測試更多。 –