【发布时间】:2010-05-12 23:34:24
【问题描述】:
在 cabal 文件的依赖项部分:
Build-Depends: base >= 3 && < 5, transformers >= 0.2.0
我应该做类似的事情
Build-Depends: base >= 3 && < 5, transformers >= 0.2.0 && < 0.3.0
(对我依赖的包的版本设置上限)
还是不行?
我将使用一个真实的例子:我在 Hackage 上的“List”包(列出 monad 转换器和类)
- 如果我不设置限制 - 我的包裹可能会因“变压器”的变化而损坏
- 如果我确实设置了限制 - 使用“转换器”但使用更新版本的用户将无法将
lift和liftIO与ListT一起使用,因为它只是这些类的一个实例变压器-0.2.x
我猜应用程序应该总是设置上限,这样它们就不会中断,所以这个问题只与库有关:
我是否应该对依赖项使用版本上限?
【问题讨论】: