2009-10-11 49 views
4

当惊天动地检索包,我经常会出错此消息:如何让Cabal绕过我的Windows代理设置?

用户错误(Codec.Compression.Zlib: 压缩流提前结束)

看起来惊天动地使用我的Windows网络代理设置(Privoxy)。

从挖掘谷歌周围,Cabal或其图书馆似乎有这方面的问题 。

可能的解决方案,我可以看到的是:

  1. 同时使用卡瓦尔(在这一个不是很热衷)关闭代理;或

  2. 获得补丁并开始黑客攻击。我很犹豫要走这条路, ,因为我是一个完整的Haskell noob,我对Darcs还不舒服;或

  3. 给它神奇的“我可以不要代理”参数。因此,这个问题。

回答

4

如果我正确地读http://darcs.haskell.org/cabal-install/Distribution/Client/HttpUtils.hs,你应该能够在环境变量HTTP_PROXY设置为无效值(将“”工作?)得到它去直接。

+0

谢谢你。我现在正在路上,希望能在复活节中尝试一下。 – 2010-03-30 09:49:53

+0

好,经过测试。我遵循了你的指导方针,并最终将其付诸实施。我接受了您的答案+1,并根据您的提示发布了我的解决方案。再次感谢。 – 2010-04-03 11:27:17

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 ~]: 

耶!

+3

我不知道为什么你称之为“不合理的人”的解决方案 - 我*说*你应该尝试一个无效值:-)。 – SamB 2010-04-05 16:30:16