2013-02-14 5 views
6

Я использую HaskellPlatform-2012.4.0.0 на Win7. Он установлен как портативный. Пути управляются через .bat-файл, поэтому ghci и ghc работают. Конфигурация и папка Cabal сделаны полуавтоматическими с this.Как изменить путь ghc?

Проблема ghc папка. Он устанавливает себя в C:\Users\name\AppData\Roaming\ghc\i386-mingw32-7.4.1.

Как изменить путь по умолчанию? Поэтому у меня может быть действительно портативный Haskell на окнах :)

EDIT: Есть 3 новых системных переменных, которые ничего не делают. Вот результаты:

SET APPDATA=%~dp0AppData -- has no effect. ghc is still made in roaming 
SET USERPROFILE=%~dp0 -- kills cabal 
SET LOCALAPPDATA=%~dp0Local --not sure if this is ever used. 

kills cabal error link

+0

Я думаю, что его так же, как http://stackoverflow.com/questions/14368401/how-to-change-path- of-cabal-config-file –

+2

Не то же самое, он упомянул об этом в своем вопросе. –

+0

Ну, да. Это тоже мой вопрос;) – CoR

ответ

2

Вы могли бы попробовать SET USERPROFILE=%~dp0, удостоверившись, что структура папок поддерживает то, что ожидает Cabal. Вероятно, он пытается перейти на %USERPROFILE%AppData\Roaming или что-то подобное.

+0

Yup, это сработало. Это уродливый взлом, но он сработал. Я пробовал 10 различных комбинаций, но пропустил, что GHC/mingw могут иметь жестко закодированные пути. – CoR

0

Вы можете использовать символические ссылки mklink /D linkName target/D означает символическую ссылку каталога. Эта команда доступна, начиная с Windows Vista/2008 +

cd C:\Users\myself\AppData\Roaming 
mklink /D cabal C:\installed\cabal 
mklink /D ghc C:\installed\ghc 

Более подробную информацию о симлинками http://en.wikipedia.org/wiki/NTFS_symbolic_link

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