2015-01-14 2 views
2

Я пытаюсь создать и запустить копию сервера Hackage https://github.com/haskell/hackage-server. Я следовал инструкциям здесь https://github.com/haskell/hackage-server/wiki, а также инструкции в readme. Какой бы я стараюсь, при попытке построить с GHC 7.8.4 и Кабал 1.22 я получаю следующее сообщение об ошибке:hackage-server не удается построить - существуют ли определенные требования к версии ghc/cabal?

Preprocessing executable 'hackage-server' for hackage-server-0.5.0... 
Main.hs:40:8: 
Could not find module ‘Network.URI’ 
It is a member of the hidden package ‘network-uri-2.6.0.1’. 
Perhaps you need to add ‘network-uri’ to the build-depends in your .cabal file. 
It is a member of the hidden package ‘network-2.4.2.3’. 
Perhaps you need to add ‘network’ to the build-depends in your .cabal file. 

Я также попытался использовать последнюю Haskell Platform, и я получаю то же сообщение об ошибке.

Я пытаюсь работать, если это ошибка в текущей главной ветви хакерского сервера или если это связано с тем, как я установил ghc или cabal.

EDIT: Я снова попытался использовать платформу Ubuntu 14.04 repo haskell (ghc 7.6.3, cabal 1.16) и произошла ошибка.

+0

Это работает, если вы добавляете 'network-uri> = 2.6' и' network> = 2.6' в 'build-depends'? –

+0

@LambdaFairy Это ясно, что ошибка, спасибо! Я понял из ошибки компилятора, что я мог бы это исправить, но я не хотел начинать с этого, пока я не был уверен, что это не связано с версией ghc и т. Д. – matchwood

+0

Отлично! Я опубликовал это как ответ ниже. –

ответ

0

network-uri было split from network некоторое время назад, но похоже, что Hackage не был обновлен с этим изменением.

В качестве обходного пути, открытые hackage-server.cabal и добавить эти строки в build-dependencies:

network >= 2.6, 
network-uri >= 2.6 

Это должно получить его снова работает.

+1

Отлично, спасибо. Просто подумал, что добавлю, что hackage-server.cabal ссылается на сеть в нескольких зависимостях построения (для хакера-зеркала, тестов и т. Д.), И все это необходимо изменить. – matchwood

Смежные вопросы