簡體   English   中英

Cabal中的“A或B”依賴性

[英]“Either A or B” dependency in Cabal

在我的一個軟件包中,我最近添加了一個過於嚴格的依賴版本約束來解決該特定版本軟件包中的錯誤。 但是,隨着其他軟件包的新版本的發布,這會導致我的一些用戶出現依賴性沖突。 其中一個有用地建議用(zip-archive <= 0.2.3 && binary >= 0.5) || (zip-archive >= 0.2.3.1 && binary >= 0.7)替換當前的,過於嚴格的約束zip-archive == 0.2 (zip-archive <= 0.2.3 && binary >= 0.5) || (zip-archive >= 0.2.3.1 && binary >= 0.7) - 也就是說,依賴於A或B,我們並不關心哪一個。

有沒有辦法在Cabal表達這個?

雖然我沒有驗證這一點,但我認為你可以使用旗幟來做到這一點:

flag someName
  default: True

library
  if flag(someName)
    build-depends:
      zip-archive >= 0.2.3.1,
      binary >= 0.7
  else
    build-depends:
      zip-archive <= 0.2.3,
      binary >= 0.5

求解器將選擇使整體約束問題可解的分支。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM