2013-12-12 1 views
0

Я пытаюсь следовать следующему Есод учебник http://yannesposito.com/Scratch/en/blog/Yesod-tutorial-for-newbies/, но я получаю следующее сообщение об ошибке при попытке сделать cabal-dev installКонфликт зависимости при попытке установить Yesod?

cabal-dev install -v 
/usr/bin/cabal --numeric-version 
/usr/local/bin/ghc-pkg --version 
Using ghc-pkg 7.6.3 
/usr/bin/cabal --version 
/usr/bin/cabal --config-file=/home/pedro/HaskellPlaying/TestApi/MyApiTest/cabal-dev/cabal.config install --verbose=2 
Reading available packages... 
Choosing modular solver. 
Resolving dependencies... 
cabal: Could not resolve dependencies: 
trying: MyApiTest-0.0.0 (user goal) 
trying: fast-logger-2.0.0/installed-a9d... (dependency of MyApiTest-0.0.0) 
next goal: warp (dependency of MyApiTest-0.0.0) 
rejecting: warp-2.0.1, 2.0.0.1, 2.0.0 (conflict: MyApiTest => warp>=1.3 && 
<1.4) 
trying: warp-1.3.10.1 
next goal: wai (dependency of warp-1.3.10.1) 
rejecting: wai-2.0.0 (conflict: warp => wai>=1.3 && <1.5) 
trying: wai-1.4.1 
next goal: wai-extra (dependency of MyApiTest-0.0.0) 
rejecting: wai-extra-2.0.0.1, 2.0.0 (conflict: MyApiTest => wai-extra>=1.3 && 
<1.4) 
rejecting: wai-extra-1.3.4.6, 1.3.4.5, 1.3.4.4, 1.3.4.3, 1.3.4.2, 1.3.4.1, 
1.3.4, 1.3.3.2, 1.3.3.1, 1.3.3, 1.3.2.4 (conflict: 
fast-logger==2.0.0/installed-a9d..., wai-extra => fast-logger>=0.2 && <0.4) 
rejecting: wai-extra-1.3.2.3, 1.3.2.2, 1.3.2.1, 1.3.2, 1.3.1.1, 1.3.1, 
1.3.0.5, 1.3.0.4, 1.3.0.3, 1.3.0.2, 1.3.0.1, 1.3.0 (conflict: wai==1.4.1, 
wai-extra => wai>=1.3 && <1.4) 
rejecting: wai-extra-1.2.0.6, 1.2.0.5, 1.2.0.4, 1.2.0.3, 1.2.0.2, 1.2.0.1, 
1.2.0, 1.1.0.1, 1.1.0, 1.0.0.1, 1.0.0, 0.4.6, 0.4.5.2, 0.4.5.1, 0.4.5, 0.4.4, 
0.4.3, 0.4.2, 0.4.1.2, 0.4.1.1, 0.4.0.3, 0.4.0.2, 0.4.0.1, 0.4.0, 0.3.3, 
0.3.2.1, 0.3.2, 0.3.1, 0.3.0, 0.2.4.2, 0.2.4.1, 0.2.4, 0.2.3, 0.2.2.2, 
0.2.2.1, 0.2.2, 0.2.1, 0.2.0, 0.1.3.1, 0.1.3, 0.1.2.1, 0.1.2, 0.1.1, 0.1.0, 
0.0.0.2, 0.0.0.1, 0.0.0 (conflict: MyApiTest => wai-extra>=1.3 && <1.4) 

Я новый заговорщиков, так что я не очень понимаю эту проблему, хотя похоже, проблема заключается в том, что кто-то хочет, чтобы wai-extra была одной версией, а что-то еще хочет, чтобы она была чем-то другим.

Может ли кто-нибудь сказать мне, в чем проблема, и как ее исправить? Благодарю.

+0

На всякий случай, если вы не подумали, вы можете установить Yesod, используя ваш менеджер пакетов. ('sudo apt-get install yesod') – Sibi

+1

Да, но в учебнике говорится, что нужно установить материал с помощью cabal. Файл .cabal, в котором указаны зависимости, может выполняться только с помощью cabal, no? И менеджеры микширования (apt-get with cabal), вероятно, плохи, если кто-то не скажет мне иначе. – Nacht

+1

@ sibi- Я не думаю, что он пытается установить Yesod, а скорее установить/развернуть проект Yesod .... – jamshidh

ответ

2

Похоже, что у вас есть несоответствие между версией сайта и версией Yesod, которую вы установили. Если вы запустите yesod version, вы можете увидеть, какую версию созданного вами сайта под открытым небом.

Ваш лучший выбор - установить новейшую версию пакета yesod-bin и пакета yesod-platform. Вы можете найти инструкции для этого на Yesod quick start page, но это по сути команда:

cabal install yesod-bin yesod-platform 

Затем попробуйте генерируя новый подмостки, и вы должны надеяться, будет хорошо к ходу.

+0

Похоже, это была проблема. Я отказался от старого проекта, очистил все и загрузил платформу Yesod и 'Yesod init' новый проект. После этого все прошло хорошо. – Nacht