2014-01-07 31 views
14

我需要例如一個軟件包的次要版本,例如persistent-postgresql ..或hdbc-mysql或其他。Cabal - 如何安裝特定版本的軟件包

如果我運行

cabal install persistent-postgresql 

它將安裝持久的PostgreSQL 1.3版本,然後我得到的錯誤「至少以下依賴性缺少:持久的PostgreSQL> = 1.2 & & < 1.3」 這爲什麼我想安裝此軟件包的早期版本以使其工作。或者也許有另一種解決方案?

在此先感謝。

+0

對於像這樣的問題,您可以先查看'cabal --help',或者更具體地說'cabal install --help'。在這種情況下,您甚至不必掃描所有選項,因爲最後的簡短「示例」部分顯示瞭如何安裝特定版本。 – raymonad

回答

14

您應該嘗試cabal安裝實際上取決於persistent-postgresql的包,因爲cabal會嘗試自動選擇正確的版本。

但是,如果你需要做到這一點,一個簡單的方法是:

cabal install persistent-postgresql-1.2.1.3 

或更復雜的:

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

在這裏,您可以只保留指定你想要的東西早於特定版本是不需要知道下一個版本的。如有必要,您也可以將約束放置在其他包上。