Как вы устанавливаете пакеты / библиотеки без Cabal или Cabal-Install? - PullRequest
5 голосов
/ 17 ноября 2011

Я пытаюсь настроить Haskell с нуля, на Ubuntu 11.04, без использования устаревшего репозитория Debian или Haskell-Platform.

Я установил GHC-7.0.4 из источника без проблем, и теперь нужно установить Cabal (который, похоже, уже включен в GHC в /usr/local/lib/ghc-7.0.4/Cabal-1.10.2.0 ) и Cabal Install.

Последний указывает несколько зависимостей (parsec и network), каждая из которых имеет несколько собственных зависимостей (mtl, text и т. Д.).

Какая команда для установки этих пакетов, которую я скачал с hackage в форме tar.gz?

Распакуйте, тогда runhaskell не работает.

Я вижу Setup.lhs, но не ясно, для чего он нужен и как его использовать.

Большая часть документации по Haskell, которую я нашел, предполагает, что вы установили ее из репозитория или из пакета Haskell, и не очень хорошо объясняет это.

Ответы [ 2 ]

11 голосов
/ 17 ноября 2011

cabal-install имеет сценарий оболочки, который делает это.Если вы скачали его с hackage и установили его, вы можете запустить bootstrap.sh для установки cabal-install.Затем вы можете использовать его для установки других пакетов.

5 голосов
/ 17 ноября 2011

Существует два разных пакета: Cabal и cabal-install. Cabal - это библиотека, а cabal-install - исполняемый файл с именем cabal.

Для установки пакета cabal-install - это дополнительная удобная оболочка вокруг Cabal, но Cabal требуется.

Согласно http://hackage.haskell.org/trac/ghc/wiki/Commentary/Libraries, Cabal - это пакет с нулевой загрузкой, поэтому при сборке GHC Cabal и его зависимости создаются для вас автоматически.

Вы можете использовать исполняемый файл ghc-pkg, чтобы проверить, какие пакеты уже установлены:

# ghc-pkg list

Проверьте, есть ли Cabal в списке после создания GHC. Если да, вы можете установить больше пакетов без установки cabal, используя эту документацию:

http://haskell.org/haskellwiki/Cabal/How_to_install_a_Cabal_package

Я предлагаю сначала установить cabal-install, а затем установить все остальное, используя исполняемый файл cabal-install. Обычная команда для глобальной установки такова:

# runhaskell Setup configure
# runhaskell Setup build
# sudo runhaskell Setup install

Распакуйте пакет tarball и запустите команды в папке с файлами Setup.hs или Setup.lhs. Обратите внимание, что установка для пользователя без полномочий root также поддерживается - используйте runhaskell Setup configure --user

Когда вы устанавливаете исполняемый файл cabal и его зависимости таким образом, используйте cabal install {package-name} для установки большего количества пакетов.

Обратите внимание, что платформа Haskell существует в основном из-за того, что вы сами устанавливаете cabal-install.

...