Cabal - 如何安装特定版本的软件包

Ste*_*ffi 15 haskell cabal

我需要一个包的次要版本,例如persistent-postgresql ..或hdbc-mysql或者其他什么.

如果我跑

cabal install persistent-postgresql
Run Code Online (Sandbox Code Playgroud)

它将安装persistent-postgresql版本1.3然后我得到错误'至少缺少以下依赖项:persistent-postgresql> = 1.2 && <1.3'这就是为什么我想安装此软件包的早期版本以使其工作.或者也许有另一种解决方案?

提前致谢.

GS *_*ica 16

您可能应该尝试安装实际依赖的软件包,persistent-postgresql因为cabal会尝试自动选择正确的版本.

但是,如果您确实需要这样做,一个简单的方法是:

cabal install persistent-postgresql-1.2.1.3
Run Code Online (Sandbox Code Playgroud)

或者更复杂:

cabal install persistent-postgresql --constraint 'persistent-postgresql < 1.3'
Run Code Online (Sandbox Code Playgroud)

在这里你可以继续指定你想要比特定版本更早的东西,因为事情不起作用而不需要知道确切的下一个版本.如有必要,您还可以在其他包上放置约束.