问题
On a fresh install install of Haskell-Platform (64 bit OSX version from http://www.haskell.org/platform/mac.html) I get the following error:
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
After issuing the command cabal update. No luck with any searches and I have no idea where this error is coming from.
回答1:
I had the same problem. The only workaround I could find was to switch from hackage to stackage.
In your .cabal/config.cabal/config file, you specify something like the following:
-- remote-repo: hackage.haskell.org:http://hackage.haskell.org/packages/archive
remote-repo: stackage:http://www.stackage.org/stackage/24e4d1b3bb101a80d3be1b146771c13df0827a82
Notice that hackage.haskell.org has to be commented out.
After that cabal update just worked.
I would be interested to here about other solutions though.
回答2:
Here's the relevant bug ticket on the HTTP tracker: https://github.com/haskell/HTTP/issues/98
It seems to be a (rare) issue with certain network configurations that result in (slightly) invalid results being returned and the HTTP library being overly strict.
Installing a recent version of the cabal executable (a binary is available for download from the cabal website) will provide a workaround, in that the default transport (and it is configurable) is https, not http, and that transport will call out to curl or wget, which are more lax in how they handle parsing http responses.
来源:https://stackoverflow.com/questions/24435856/error-with-cabal-update