Установка Haskell на Windows, конфиг кабалы

Я устанавливаю Haskell в Windows, следуя инструкциям на странице https://www.haskell.org/platform/ и глядя на шаг 3, он говорит: «Измените файл конфигурации клики (вы можете проверить местоположение, запустив «cabal user-config init»), чтобы он содержал следующие строки:

extra-prog-path: C:\Program Files\Haskell Platform\8.0.2\msys\usr\bin
extra-lib-dirs: C:\Program Files\Haskell Platform\8.0.2\mingw\lib
extra-include-dirs: C:\Program Files\Haskell Platform\8.0.2\mingw\include

Но автоматически сгенерированный файл конфигурации содержит, например.

extra-prog-path: C:\Users\w\AppData\Roaming\cabal\bin

Итак, это другое значение для одной из предложенных переменных.

Это намеренно?

Что мне делать, вставить строки из шага 3 в начало файла, в конец файла, перезаписать существующие строки или вообще пропустить шаг 3?


person rwallace    schedule 02.03.2017    source источник
comment
Что мне делать, на самом деле не вопрос - только вы можете знать, как выглядит ваша среда, уместно ли сохранить один или другой или оба пути (extra-prog-path может быть списком путей, разделенных запятыми). Что не работает, если вы замените существующие пути, или не замените их, или включите оба? Два отступления; наличие пробелов в пути, вероятно, приведет к проблемам в будущем; и почему вы не используете стек (это второй вариант на странице загрузок)?   -  person user2407038    schedule 02.03.2017
comment
@user2407038 user2407038 Я не знаю, что здесь уместно, потому что я не знаком со средой Haskell. На данный момент я оставил его в покое и пытаюсь использовать стек (кажется, он был установлен автоматически), так как поиск Google сказал, что он лучше (это правда?) stack install hfmt обновлял индекс пакетов в течение двадцати минут. сейчас; это должно произойти?   -  person rwallace    schedule 02.03.2017
comment
Но ни то, ни другое не знакомо с вашей средой - я не знаю ни содержимого каталога C:\Users\w\AppData\Roaming\cabal\bin, ни того, существует ли он вообще. Да, требуется много времени (у меня никогда не уходило 20 минут, но, конечно, это зависит от скорости вашего интернет-соединения), чтобы получить индекс пакета в первый раз, но это не отличается для простого cabal без stack. Чтобы убедиться, что все идет хорошо, вы можете запустить stack с -v (многословие) — он распечатает ход загрузки.   -  person user2407038    schedule 02.03.2017
comment
@user2407038 user2407038 Ну, это начинается с чистой установки Haskell, так что все, что получится при чистой установке. Хорошо, если предполагается, что стеку требуется много времени для получения индекса пакета в первый раз, это не проблема, просто нужно убедиться, что он не завис или что-то в этом роде. Спасибо!   -  person rwallace    schedule 02.03.2017
comment
Связанный вопрос: stackoverflow.com/q/42725607/2157640   -  person Palec    schedule 28.04.2017
comment
Этот вопрос касается процедуры установки платформы Haskell. Чистая установка, никаких модификаций — среда достаточно определена установщиком. Я почти уверен, что следует использовать исходный extra-prog-path и добавить новый extra-prog-path, @user2407038. Новичкам трудно следовать инструкциям по установке платформы Haskell для WIndows из-за незнания пользователем Cabal. синтаксис конфигурации.   -  person Palec    schedule 28.04.2017


Ответы (2)


У меня установлена ​​версия 2.4.1.0. Как предложено в https://www.haskell.org/cabal/users-guide/nix-local-build.html и противоречит инструкциям по установке на странице https://www.haskell.org/platform/windows.html, я использую одну строку extra-prog-path, содержащую список путей, разделенных запятыми:

extra-prog-path: C:\Users\...\AppData\Roaming\cabal\bin,C:\Program Files\Haskell Platform\8.6.5\msys\usr\bin

Причина: Таким образом, по крайней мере, команда cabal user-config diff дает разумные результаты.

C:\>cabal user-config diff
+ extra-include-dirs: C:\Program Files\Haskell Platform\8.6.5\mingw\include
+ extra-lib-dirs: C:\Program Files\Haskell Platform\8.6.5\mingw\lib
- extra-prog-path: C:\Users\...\AppData\Roaming\cabal\bin
+ extra-prog-path: C:\Users\...\Roaming\cabal\bin,C:\Program Files\Haskell Platform\8.6.5\msys\usr\bin
+ logs-dir: C:\Users\...\AppData\Roaming\cabal\logs

Если бы я следовал инструкциям по установке и использовал две строки extra-prog-path, то cabal user-config diff проигнорировал бы вторую. Однако я не уверен, имеет ли это значение.

person stacchioflo    schedule 20.02.2020

Вам не нужно перезаписывать существующие строки. У вас может быть несколько записей extra-prog-path, и все они будут использоваться.

person sclv    schedule 21.08.2017