在 cabal 文件的依赖项部分:
Build-Depends: base >= 3 && < 5, transformers >= 0.2.0
我应该做类似的事情吗
Build-Depends: base >= 3 && < 5, transformers >= 0.2.0 && < 0.3.0
(对我依赖的软件包版本设置上限)
或不?
我将使用一个真实的例子:我在 Hackage 上的“List”包(List monad transformer and class)
- 如果我不设置限制 - 我的包裹可能会因“变压器”的变化而损坏
- 如果我确实设置了限制 - 使用“转换器”但使用它的较新版本的用户将无法使用
lift
andliftIO
withListT
因为它只是这些转换器类的一个实例-0.2.x
我想应用程序应该始终设置上限,以便它们永远不会中断,所以这个问题只与库有关:
我是否应该对依赖项使用版本上限?