我试图从官方网站上关注Yesod快速启动,但是在运行yesod devel
时(安装并运行yesod init
之后),如果我使用sqlite,由于缺少依赖项而无法构建, postgresql,postgresql + fay或mysql(来自yesod-init
的' simple'选项工作正常)。
给出的错误信息是:
对于sqlite:
cabal: At least the following dependencies are missing:
persistent-sqlite ==1.3.*
对于postgresql:
cabal: At least the following dependencies are missing:
persistent-postgresql ==1.3.*
对于postgres + fay:
cabal: At least the following dependencies are missing:
fay >=0.16, persistent-postgresql ==1.3.*, yesod-fay >=0.5.0.1
对于mysql:
cabal: At least the following dependencies are missing:
persistent-mysql ==1.3.*
对于mongoDB:
cabal: At least the following dependencies are missing:
persistent-mongoDB ==1.3.*
有谁知道出了什么问题以及如何修复它?
更新
我能够通过与yesod-platform分开安装一些缺少的依赖项来解决一些问题。
cabal install persistent-sqlite
使用sqlite修复了任何问题。
cabal install persistent-postgresql
和cabal install persistent-mysql
工作。
cabal install persistent-mongodb
因我无法解决的错误而失败:
解决依赖关系...... 配置persistent-mongoDB-1.3.1 ...... 构建persistent-mongoDB-1.3.1 ...... 预处理库persistent-mongoDB-1.3.1 ... [1/1]编译Database.Persist.MongoDB(Database / Persist / MongoDB.hs,dist / build / Database / Persist / MongoDB.o)
数据库/坚持/ MongoDB.hs:420:26: 不在范围内:类型构造函数或类`MonadThrow' 无法安装persistent-mongoDB-1.3.1 cabal:错误:某些软件包无法安装: 在构建阶段,persistent-mongoDB-1.3.1失败了。例外是: ExitFailure 1
有人知道如何解决这个问题吗?
更新
最后一个问题已经由维护者更新了cabal包解决了。
答案 0 :(得分:2)
有一个没有此错误的新版本(我已经安装了persistent-mongoDB-1.3.1.1,之前的版本有你发现的错误)。
执行cabal update
刷新包列表,然后重试。