ошибка зависимости установки cabal: «base- * был исключен из-за зависимости base -any верхнего уровня -any» - PullRequest
7 голосов
/ 11 сентября 2011

Вот полная ошибка:

$ cabal install hakyll
Resolving dependencies...
cabal: cannot configure snap-server-0.5.3.1. It requires base >=4.3 && <5
For the dependency on base >=4.3 && <5 there are these packages: base-4.3.0.0,
base-4.3.1.0 and base-4.4.0.0. However none of them are available.
base-4.3.0.0 was excluded because of the top level dependency base -any
base-4.3.1.0 was excluded because of the top level dependency base -any
base-4.4.0.0 was excluded because of the top level dependency base -any
$

Как можно исключить версии base-* из-за какого-то правила, которое гласит, что любая версия в порядке?

Ответы [ 2 ]

3 голосов
/ 23 сентября 2011

столкнулся с той же проблемой. Решил это.

Это была чистая установка на haskell. Но это была чистая установка на haskell из менеджера пакетов (в данном случае ubuntu) версии linux, который имел более старые версии.

Пришлось удалить старые пакеты, загрузить исходный код, собрать и установить его.

получить последние версии платформ из:
http://hackage.haskell.org/platform/linux.html

получить исходные данные ghc, необходимые для платформы. http://haskell.org/ghc/download_ghc_7_0_3#distros

пример для этого: http://sporkcode.wordpress.com/2009/07/11/installing-the-haskell-platform-in-ubuntu/

3 голосов
/ 11 сентября 2011

Каждый раз, когда я сталкивался с этой проблемой, это происходило потому, что я делал все следующие вещи:

  1. Загрузил пакет из Hackage с устаревшими зависимостями.
  2. Обновилзависимостей и заметил, что он работал нормально (или потратил время на исправление ошибок).
  3. Ран cabal install с новыми зависимостями.
  4. Не обновил номер версии.

Последний - настоящий кикер.cabal install будет предполагать, что, если ему известно о паре версия / зависимости пакета от Hackage, эта пара является канонической.Если вы хотите, чтобы он знал об обновленных зависимостях, перед установкой измените номер версии пакета.

Вам нужно будет убедиться, что вы сделали это правильно для любых зависимостей hakyll, которые вы установили вручную.

...