Haskell http-conduit-1.9.6“没有实例(读取UTCTime)”编译错误

时间:2014-11-13 15:07:56

标签: haskell http-conduit

我试图安装http-conduit-1.9.6(我的Haskell应用程序需要该版本),而我的" cabal安装http-conduit-1.9.6"给我以下错误:

构建http-conduit-1.9.6 ...
预处理库http-conduit-1.9.6 ...
[1 of 12]编译Network.HTTP.Conduit.Util(Network / HTTP / Conduit / Util.hs,dist / build / Network / HTTP / Conduit / Util.o)
[2 of 12]编译Network.HTTP.Conduit.ConnInfo(网络/ HTTP / Conduit / ConnInfo.hs,dist / build / Network / HTTP / Conduit / ConnInfo.o)
[3 of 12]编译Network.HTTP.Conduit.Types(网络/ HTTP /管道/ Types.hs,dist / build / Network / HTTP / Conduit / Types.o)

网络/ HTTP /导管/ Types.hs:239:13:

No instance for (Read UTCTime)  
  arising from the 'deriving' clause of a data type declaration  
Possible fix:
  add an instance declaration for (Read UTCTime)
  or use a standalone 'deriving instance' declaration,
       so you can specify the instance context yourself
When deriving the instance for (Read Cookie)

无法安装http-conduit-1.9.6
cabal:错误:某些软件包无法安装:
http-conduit-1.9.6在构建阶段失败。例外是:
ExitFailure 1

我的工作平台是Ubuntu 14.04和cabal 1.20 感谢。

1 个答案:

答案 0 :(得分:2)

要构建http-conduit-1.9.6(在沙箱中),我必须:

  1. 在http-conduit.cabal的构建依赖中明确添加对network-uri的依赖

  2. 在Network / HTTP / Conduit / Types.hs中,通过导入Data.Time替换导入Data.Time.Clock

    (时间套餐中的这个问题让我走上正轨:https://github.com/haskell/time/issues/7

  3. 如果不这样做,请告诉我。