Haskell 尝试安装YesSOD时发生依赖项冲突?

Haskell 尝试安装YesSOD时发生依赖项冲突?,haskell,cabal,yesod,Haskell,Cabal,Yesod,我试图遵循下面的YesSOD教程,但在尝试执行cabal dev安装时出现以下错误 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/ca

我试图遵循下面的YesSOD教程,但在尝试执行
cabal dev安装时出现以下错误

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)
cabal dev安装-v
/usr/bin/cabal——数字版本
/usr/local/bin/ghc pkg——版本
使用ghc pkg 7.6.3
/usr/bin/cabal——版本
/usr/bin/cabal--config文件=/home/pedro/HaskellPlaying/TestApi/MyApiTest/cabal dev/cabal.config安装--verbose=2
正在阅读可用的软件包。。。
选择模块化求解器。
正在解析依赖项。。。
阴谋集团:无法解析依赖项:
正在尝试:MyApiest-0.0.0(用户目标)
正在尝试:fast-logger-2.0.0/installed-a9d。。。(MyApiest-0.0.0的依赖性)
下一个目标:warp(MyApiTest-0.0.0的依赖性)
拒绝:warp-2.0.1、2.0.0.1、2.0.0(冲突:MyApiTest=>warp>=1.3&&
wai>=1.3&&wai额外>=1.3&&

快速记录器>=0.2&&wai>=1.3&&wai extra>=1.3&&p>在我看来,您的脚手架站点版本与您安装的Yesod版本不匹配。如果运行
Yesod版本
,您可以看到生成的脚手架站点版本

您最好安装最新版本的
yesod-bin
软件包和
yesod-platform
软件包。您可以在上找到相关说明,但基本上是以下命令:

cabal install yesod-bin yesod-platform

然后尝试生成一个新的脚手架,你应该很乐意去做。

以防万一,如果你没有想到,你可以使用你的包管理器安装YesSOD。(
sudo-apt-get-install-YesSOD
)是的,但是教程说要用cabal安装东西。声明依赖关系的.cabal文件只能用cabal运行,不是吗?而且混合管理器(apt get with cabal)可能不好,除非有人告诉我不是这样。@sibi-我想他不是想安装YesSOD,而是安装/部署YesSOD项目……你能试试“cabal update”吗,然后重复?这可能会解决问题。看起来这就是问题所在。我废弃了旧项目,清理了所有东西,下载了yesod平台和一个新项目。