2016-12-22 130 views
0

我目前管理的Ruby 1.9.3的安裝紅帽5RubyGems的自動更新安裝

我發現,一個特定的寶石在安裝過程中,紅寶石嘗試下載並安裝最新版本的一個特別需要的寶石。

我試圖阻止使用--conservative標誌更新寶石,但是,這似乎不起作用。

有問題的寶石需要launchy的特定版本,而這又需要特定版本的addressable

已安裝的這些gem版本符合我嘗試安裝的gem的要求。但是,gem命令嘗試下載並安裝最新版本的addressable

這是一個問題,因爲最新的可尋址需要public_suffix,它只安裝在Ruby 2.x或更高版本中。

我試圖安裝的寶石是一個自定義寶石,因此我修改了gemspec,發現刪除launchy需求解決了這個問題。但是,launchy是必需的gem,所以需求需要留在依賴列表中。

有沒有人有處理這個特定版本的紅寶石和寶石的經驗,並發現依賴關係的問題?

我試過去了,修改gemspec爲launchyaddressable在已安裝的gem dirs中,但發現問題在於gem install命令嘗試更新/安裝最新的gem,儘管給它標誌告訴它。

紅寶石1.9.3 寶石23年8月1日

+0

這是Gemfile.lock的用途。這聽起來像你沒有檢查到你的回購。 – infused

回答

0

使用-v標誌來指定確切的版本進行安裝:

gem install your-custom-gem -v 1.1 
0

後通過上述反應促使一些額外的研究,確定過時的Hoe版本導致生成的gem嘗試安裝最新的依賴關係。離開Hoe去管理依賴和版本後,我的問題已經解決了。

一些依賴關係管理類似乎表現完全不同,所以這可能是第一個看的地方。