Làm cách nào để thêm các phụ thuộc tùy chọn vào rubygems, vì nó không hỗ trợ nó?Rubygems phụ thuộc tùy chọn
Sử dụng trường hợp:
- Tôi có một thư viện mà không phụ thuộc vào một trong hai bản chuyển ngược, Extlib, khía cạnh hoặc ActiveSupport. Trước đây tôi không thêm bất kỳ phụ thuộc nào, vì mọi người có thể chọn (đọc: nó sẽ chơi độc đáo với bất kỳ thứ gì họ đang sử dụng), nhưng mọi người phàn nàn rất nhiều về thư viện không hoạt động, hoặc họ sẽ tin nó phụ thuộc vào ActiveSupport (mà trong một số trường hợp là không đi cho một số người). Vì vậy, tại thời điểm này nó phụ thuộc vào Backports, vì nó là tối thiểu nhất. Mặc dù điều đó có nghĩa là mọi người sẽ cài đặt Backports nếu họ cài đặt thư viện của tôi, mặc dù họ có thể không sử dụng nó tại thời gian chạy.
- Tôi muốn phụ thuộc vào các loại đá quý khác nhau tùy thuộc vào môi trường (ví dụ: Johnson trên MRI/Rubinius, TheRubyRhino trên JRuby, Lyndon trên MacRuby).
Một cách tiếp cận tôi mặc dù là highjacking extconf.rb
. Tôi có thể kiểm tra hệ thống ở đó. Tuy nhiên, điều này cảm thấy sai. Hơn nữa, nếu đây là cách duy nhất, làm thế nào để tôi đi về nó? Làm thế nào để kích hoạt cài đặt thêm đá quý từ đó? system 'gem install ...'
?
Tôi đã làm điều đó, nhưng một số người không quan tâm và hét "lỗi". Ngoài ra, tôi muốn nó hoạt động. Mặc dù đây có lẽ là cách để đi (vì rubygems không thể xử lý tình huống này). –
Tôi tự hỏi nếu rubygems chấp nhận yêu cầu tính năng, hoặc cho dù đó là "bản vá chào mừng" ... –
Tôi nghĩ rằng điều này khá khó thực hiện, ví dụ như khả năng tương thích phá vỡ không phải là một tùy chọn và dữ liệu meta có thể không chứa mã thực thi. –