如何將可選依賴項添加到rubygems,因爲它不支持它?Rubygems可選依賴關係
使用案例:
- 我有,它要麼依賴於反向移植,EXTLIB,面或的ActiveSupport庫。在過去,我只是沒有添加任何這種依賴,因爲人們可以選擇(閱讀:它可以很好地與他們使用的任何東西一起玩),但是人們抱怨了很多關於圖書館沒有開箱即用,或者他們會相信它依賴於ActiveSupport(在某些情況下,這對某些人來說是不適合的)。所以目前它取決於Backports,因爲它是最小的。儘管這意味着如果安裝我的庫,人們將安裝Backports,即使它們可能不會在運行系統中使用它。
- 我想依靠不同的寶石取決於環境(即Johnson on MRI/Rubinius,JRuby上的TheRubyRhino,MacRuby上的Lyndon)。
我雖然要做的一個方法是劫持extconf.rb
。我可以在那裏做系統檢查。但是,這感覺不對。而且,如果這是唯一的方法,我該如何去做呢?我如何觸發從那裏安裝額外的寶石? system 'gem install ...'
?
我做到了,但有些人只是不在乎和尖叫「錯誤」。另外,我希望它能夠工作。雖然這可能是要走的路(因爲rubygems無法處理這種情況)。 – 2010-06-08 12:45:31
我不知道rubygems是否接受功能請求,或者它是否「受歡迎的修補程序」...... – 2010-06-08 23:16:21
我認爲這很難實現,例如因爲破壞兼容性不是選項,元數據可能不包含可執行代碼。 – 2010-06-09 10:48:27