2013-02-14 16 views
6

Ich verwende HaskellPlatform-2012.4.0.0 auf Win7. Es ist als tragbar installiert. Pfade werden über die .bat-Datei verwaltet, sodass ghci und ghc funktionieren. Cabal Config und Ordner sind semi-portable mit this.Wie ändere ich den Pfad von ghc?

Das Problem ist ghc Ordner. Es installiert sich in C:\Users\name\AppData\Roaming\ghc\i386-mingw32-7.4.1.

Wie kann man den Standardpfad ändern? So kann ich wirklich tragbare Haskell auf Windows haben :)

EDIT: Es gibt 3 neue Systemvariablen, die nichts tun. Hier sind die Ergebnisse:

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

Ich denke, die die gleiche wie http://stackoverflow.com/questions/14368401/how-to-change-path- von-cabal-config-file –

+2

Nicht dasselbe, er erwähnte das in seiner Frage. –

+0

Nun, ja. Das ist auch meine Frage;) – CoR

Antwort

2

Sie könnten SET USERPROFILE=%~dp0 versuchen gleichzeitig aber dafür sorgen, dass die Ordnerstruktur unterstützt, was Cabal erwartet. Es wird wahrscheinlich versucht, %USERPROFILE%AppData\Roaming oder etwas ähnliches zu gehen.

+0

Yup, das hat funktioniert. Es ist ein hässlicher Hack, aber es hat funktioniert. Ich habe 10 verschiedene Kombinationen ausprobiert, aber verpasst, dass GHC/Mingw hart codierte Pfade haben kann. – CoR

0

Sie können symbolische Verbindungen verwenden mklink /D linkName target/D bedeutet Verzeichnis Symlink. Dieser Befehl verfügbar seit Windows Vista/2008 +

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

Weitere Informationen über Symlinks http://en.wikipedia.org/wiki/NTFS_symbolic_link

Verwandte Themen