17
votes

I need for example a minor version of a package, for example persistent-postgresql .. or hdbc-mysql or whatever.

If I run

cabal install persistent-postgresql

it will install persistent-postgresql version 1.3 and then I get the error 'At least the following dependencies are missing: persistent-postgresql >= 1.2 && < 1.3' That's why I would like to install an earlier version of this package to make it work. Or maybe there is another solution?

Thanks in advance.

1
For questions like these, you can start by looking at cabal --help, or more specifically cabal install --help. In this case, you wouldn't even have had to scan through all the options, because the short 'Examples' section at the end shows how to install a specific version. - raymonad

1 Answers

21
votes

You should probably try to cabal install the package that actually depends on persistent-postgresql as cabal will then try to select the right version automatically.

However if you do need to do this, a simple way is:

cabal install persistent-postgresql-1.2.1.3

Or more complicated:

cabal install persistent-postgresql --constraint 'persistent-postgresql < 1.3'

Here you can just keep specifying that you want something earlier than a particular version as things don't work without needing to know the exact next version down. You can also place constraints on other packages if necessary.