无法在Ubuntu 12.04上安装Yesod

3

我刚试图在Vagrant虚拟机上的Ubuntu 12.04(Precise 32)上安装Yesod。

Haskell平台的安装很顺利。

然后执行命令:"cabal install yesod-platform --force-reinstalls"

导致以下错误:

cabal: Error: some packages failed to install:
vault-0.3.0.1 failed during the building phase. The exception was:
ExitFailure 1
wai-1.4.0.2 depends on vault-0.3.0.1 which failed to install.
wai-app-static-1.3.1.4 depends on vault-0.3.0.1 which failed to install.
wai-extra-1.3.4.4 depends on vault-0.3.0.1 which failed to install.
wai-logger-0.3.1 depends on vault-0.3.0.1 which failed to install.
wai-test-1.3.1.1 depends on vault-0.3.0.1 which failed to install.
warp-1.3.9.2 depends on vault-0.3.0.1 which failed to install.
yesod-1.2.2.1 depends on vault-0.3.0.1 which failed to install.
yesod-auth-1.2.2.1 depends on vault-0.3.0.1 which failed to install.
yesod-core-1.2.4.2 depends on vault-0.3.0.1 which failed to install.
yesod-form-1.3.2.1 depends on vault-0.3.0.1 which failed to install.
yesod-persistent-1.2.1 depends on vault-0.3.0.1 which failed to install.
yesod-platform-1.2.4.2 depends on vault-0.3.0.1 which failed to install.
yesod-static-1.2.0.1 depends on vault-0.3.0.1 which failed to install.
yesod-test-1.2.1 depends on vault-0.3.0.1 which failed to install.

我猜这意味着无法找到保险库。我不理解当前情况,也不知道这个包是什么以及为什么它在全新的Ubuntu系统和Haskell平台上无法安装。欢迎提供任何指引。谢谢。

在您的项目目录中尝试使用 cabal-dev install yesod-platform - Mihai Maruseac
对不起,我不理解“在我的项目目录中”的意思。因为我还没有安装Yesod,所以我还没有项目。 - sectornitad
你安装它是因为你想要参与涉及它的项目,对吧? - Mihai Maruseac
1
你正在使用cabal全局安装yesod的依赖项,但某些东西与haskell平台中的某些内容冲突,因此Mihia建议在为您的项目创建的新文件夹中使用cabal dev在项目级别安装依赖项。 - Adam Gordon Bell
1个回答

4

看起来Hackage上的最新版本vault存在问题。您可以通过告诉cabal安装较旧的版本来解决此问题:

cabal install yesod-platform --force-reinstalls --constraint 'vault < 0.3.0.1'

我将向Vault提交一个关于此问题的错误报告。


如果你克隆存储库,它可以编译通过。这不是一个很好的解决方案,但现在可以绕过问题。 - Tim Perry
谢谢Michael - 那个有效,现在我有另一个问题不明白... 我会单独发布一个问题。 - sectornitad
请注意,似乎已上传了一个修补的保险库,因此不再需要该约束条件。 - Michael Snoyman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接