使用Cabal检索软件包时,我经常会收到此消息的错误:
用户错误(Codec.Compression.Zlib: 压缩流的过早结束)
看起来Cabal正在使用我的Windows网络代理设置(对于Privoxy)。
从挖掘谷歌,Cabal或其图书馆似乎有一个问题 在这方面。
我能看到的可能解决方案是:
在使用Cabal时关闭代理(对此不太热衷);或
获取补丁并开始黑客攻击。我犹豫不决走这条路, 因为我是一个完整的Haskell noob而且我对Darcs还不熟悉;或
给它一个神奇的“我可以没有代理”参数。因此问题。
答案 0 :(得分:4)
如果我正确地阅读http://darcs.haskell.org/cabal-install/Distribution/Client/HttpUtils.hs,您应该能够将环境变量HTTP_PROXY设置为无效值(将“工作?”)以使其直接进行。
答案 1 :(得分:4)
按照@SamB的建议,进行一些实验,我现在使用的解决方案是:
export HTTP_PROXY="::"
以下是实验日志的一部分:
尝试@ SamB的解决方案:
[12:10:35z ~]:export HTTP_PROXY=""
[12:11:47z ~]:set|grep HTTP
HTTP_PROXY=
[12:11:50z ~]:cabal update
Downloading the latest package list from hackage.haskell.org
cabal.exe: connect: failed (Connection refused (WSAECONNREFUSED))
尝试“合理的人”解决方案:
[12:11:54z ~]:export HTTP_PROXY="None"
[12:12:02z ~]:set|grep HTTP
HTTP_PROXY=None
[12:12:04z ~]:cabal update
Downloading the latest package list from hackage.haskell.org
cabal.exe: user error [\]
(openTCPConnection: host lookup failure for "None")
尝试“不合理的人”解决方案:
[12:23:44z ~]:export HTTP_PROXY="::"
[12:24:00z ~]:set|grep HTTP
HTTP_PROXY=::
[12:24:04z ~]:cabal update
Downloading the latest package list from hackage.haskell.org
Warning: invalid http proxy uri: "::"
Warning: proxy uri must be http with a hostname
Warning: ignoring http proxy, trying a direct connection
Note: there is a new version of cabal-install available.
To upgrade, run: cabal install cabal-install
[12:24:34z ~]:
耶!