Как установить модули в haskell
Я хочу запустить код haskell, который включает в себя сетевые файлы.
ghc firewall.hs
Сообщение об ошибке
firewall.hs:1:8:
Could not find module `Network.HTTP.Enumerator'
Use -v to see a list of the files searched for.
может кто-нибудь сказать мне, как установить модуль в haskell, если эта проблема связана с этим.
Ответы
Ответ 1
Инструмент cabal
обрабатывает это. В этом случае вам нужно:
cabal update # to download the latest package list if not done recently
cabal install http-enumerator
Если вы не установили GHC через платформу Haskell, у вас может не быть этого инструмента. Если да, возьмите платформу Haskell здесь: http://www.haskell.org/platform/
Чтобы узнать, какой пакет вам нужен для определенного модуля, используйте окно поиска здесь: http://hackage.haskell.org/packages/archive/pkg-list.html
В некоторых случаях ответ может быть неоднозначным, поскольку двум пакетам разрешено определять один и тот же модуль.
Ответ 2
Чтобы увеличить ответ Ganesh, большинство людей, которых я знаю, не утруждают себя использованием платформы Haskell, а вместо этого устанавливают GHC, а затем загружают bootstrap с помощью cabal script.
Использование wget (или завиток, если хотите):
wget http://hackage.haskell.org/packages/archive/cabal-install/1.18.0.1/cabal-install-1.18.0.1.tar.gz
tar xzf cabal-install-1.18.0.1.tar.gz
cd cabal-install-1.18.0.1
sh ./bootstrap.sh
export PATH=$PATH:$HOME/.cabal/bin
После этого это просто вопрос использования "cabal" для установки пакетов Haskell.
cabal update
cabal install http-enumerator
Вы можете увидеть этот пакет и многие другие на http://hackage.haskell.org.