В дополнение к комментариям Данидиаса я предлагаю непосредственно установить cabal-install в свой домашний каталог.
Начните с того, что убедитесь, что вы на самом деле используете нужную версию GHC 8.x (при необходимости используйте which ghc
и ghc --version
). Кроме того, избавьтесь от любых других версий установки, которые вы могли установить, чтобы избежать путаницы.
[каталог] ~/.cabal/bin
не входит в мою PATH
переменную, я должен поместить его в начало его определения?
Точно. ~/.cabal/bin
- это расположение по умолчанию для исполняемых файлов, локально установленных с помощью cabal-install, включая саму cabal-install, поэтому оно должно быть в PATH. Помещение его в переднюю часть PATH даст ему приоритет над любой общесистемной установкой cabal-install, установленной с вашими менеджерами пакетов. (Обратите внимание, что это не будет проблемой, если вы предварительно удалите указанную общесистемную установку.)
Как только местность прояснится, вы можете скачать подходящий бинарный тарбол со страницы Cabal , извлечь исполняемый файл и поместить его в ~/.cabal/bin
. Как отмечает danidiaz, двоичные файлы не обязательно должны быть в последней стабильной версии (как я пишу, двоичные файлы для Linux - 2.2.0.0, а не 2.4.0.0), но это, скорее всего, не будет иметь значения, так как когда у вас будет какая-то версия Кабал-установки доступны, вы можете просто запустить ...
cabal new-update # For version 2.4 or above; if not, use cabal update instead.
cabal new-install cabal-install
... который обновит вашу установку cabal до последней стабильной версии.
(Обратите внимание, что я использую команды new- * cabal-install . Я настоятельно советую вам сделать то же самое.)
Также, просматривая папку Cabal, я не вижу двоичные файлы. Имеются только папки «Распространение», «Язык», «Тесты» и «Документы».
Похоже, вы загрузили источники Cabal, библиотеки, а не Cabal-install, инструмента. Источники cabal-install также доступны на странице загрузки, ссылки на которую приведены выше (я пишу это, их версия 2.4.0.0). Если вы получаете их из GitHub , вам следует обратиться к каталогу cabal-install
, а не к Cabal
. В любом случае, если вы находитесь в соответствующем каталоге, для установки из исходного кода запустите ...
./bootstrap.sh --sandbox
... для которого требуется только GHC (в отличие от уже существующей кабальной установки). Как только он завершит сборку cabal-install, скрипт сообщит вам местоположение исполняемого файла (предположительно в подкаталоге .cabal-sandbox/bin
). Скопируйте исполняемый файл в ~/.cabal/bin
и продолжайте как прежде.