【问题标题】:Error with cabal update阴谋集团更新错误
【发布时间】:2014-06-26 16:35:32
【问题描述】:

在全新安装 Haskell-Platform(来自http://www.haskell.org/platform/mac.html 的 64 位 OSX 版本)时,我收到以下错误:

Downloading the latest package list from hackage.haskell.org
Warning: http error: Network.Browser.request: Error raised ErrorParse "Invalid
cabal: Char.intToDigit: not a digit -1

发出命令cabal update 后。任何搜索都没有运气,我不知道这个错误来自哪里。

【问题讨论】:

  • cabal --version 的输出是什么?
  • cabal 使用 Cabal 库的 1.16.0 版安装 1.16.0.2 版
  • 你试过详细模式了吗? cabal update --verbose=3。如果输出有用,您可以考虑将输出发布到 gist。
  • 它不是特别有用,但在这里:gist.github.com/dansheffler/…

标签: haskell cabal


【解决方案1】:

我遇到了同样的问题。我能找到的唯一解决方法是从 hackage 切换到 stackage

在您的 .cabal/config.cabal/config 文件中,您指定如下内容:

-- remote-repo: hackage.haskell.org:http://hackage.haskell.org/packages/archive remote-repo: stackage:http://www.stackage.org/stackage/24e4d1b3bb101a80d3be1b146771c13df0827a82

请注意,hackage.haskell.org 必须被注释掉。

在那之后cabal update 刚刚工作。

不过,我会对其他解决方案感兴趣。

【讨论】:

    【解决方案2】:

    这是 HTTP 跟踪器上的相关错误票:https://github.com/haskell/HTTP/issues/98

    这似乎是某些网络配置的一个(罕见)问题,导致返回(略微)无效结果并且 HTTP 库过于严格。

    安装最新版本的 cabal 可执行文件(可从 cabal 网站下载二进制文件)将提供一种解决方法,因为默认传输(并且它是可配置的)是 https,而不是 http,并且该传输将调用 curlwget,它们在处理解析 http 响应的方式上更加宽松。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      • 1970-01-01
      相关资源
      最近更新 更多