2016-05-11 7 views
5

Wie erstellt man einen Symlink mit Haskell? Das directory-Paket bietet meines Wissens keine Möglichkeit, dies zu tun.Wie SymLink mit Haskell erstellen?

+3

[System.Posix.Files.createSymbolicLink] (https://hackage.haskell.org/package/unix-2.7.2.0/docs/System-Posix-Files.html#g:9) –

+0

@ n.m. Fühlen Sie sich frei, als Antwort zu posten, es sei denn, eine doppelte Frage existiert bereits. – Mark

+0

Anscheinend gibt es ein (nahe) Duplikat [hier] (http://stackoverflow.com/questions/35369470/what-is-the-common-to-create-a-soft-link-with-haskell-turtle). –

Antwort

10

Das Erstellen einer symbolischen Verbindung ist nicht portabel. Zum Beispiel die Erstellung symbolischer Links unter Windows is re­strict­ed . Daher passt es nicht in directory Bereitstellung "a basic set of operations for ma­nip­u­lat­ing files and directories in a portable way" (Hervorhebung meins). Dies betrifft alle plattformunabhängigen Pakete.

Die plattformspezifische Paket unix bietet diese Funktionalität in System.Posix.Files with createSymbolicLink aber:

import System.Posix.Files (createSymbolicLink) 

main :: IO() 
main = createSymbolicLink "/opt/ghc/7.10.3" "/opt/ghc/active" 

1: Das ist auch ein Grund, warum unix-compat nicht createSymbolicLink

0

directory-1.3.1 has

createFileLink :: FilePath -> FilePath -> IO() 

Diese implementieren ist sup gestellt, um auch unter Windows zu arbeiten - natürlich nur auf einem geeigneten Dateisystem.