2016-06-27 12 views
1

Ich fange an, haskell mit nixpkgs zu verwenden. Von the official guide to nixpkgs Ich lese:Wie löst ghc Pfade für Bibliotheken auf?

GHC erwartet, alle installierten Bibliotheken in seinem eigenen lib-Verzeichnis zu finden.

Wie es heißt, es scheint, dass es sagt, dass ghc erfordern alle die Bibliothek im selben Pfad installiert werden.

Ich dachte, dass ghc in der Lage war, den Pfad der Bibliotheken durch den Blick auf die Pakete Datenbank durch GhC-Pkg konfiguriert zu finden. Wenn dies der Fall ist, sollte es möglich sein, Bibliotheken in verschiedene Verzeichnisse im Dateisystem zu stellen und die Paket-db zu konfigurieren, um diese verschiedenen Pfade aufzulösen. Aber das würde dem widersprechen, was in dem oben erwähnten Link gesagt wurde, also was bekomme ich nicht?

Vielen Dank im Voraus für jede Antwort.

Antwort

3

GHC hat mehrere Kommandozeilenoptionen, die es Ihnen ermöglichen, zu manipulieren, wie es nach Paketen sucht:

https://downloads.haskell.org/~ghc/7.10.3/docs/html/users_guide/flag-reference.html#idp46686514389712

Kurz gesagt, GHC Sie einen Stapel von Paket-Verzeichnisse angeben können (wie ein Paket db suchen Pfad), damit Sie auf Bibliotheken in verschiedenen Verzeichnissen zugreifen können.

+0

Also im Grunde war mein Verständnis korrekt und ich habe falsch interpretiert, was im obigen Link gesagt? –

+0

Ja - Ihr Verständnis ist richtig. Dieser Absatz stellt eine vereinfachte Ansicht der Paketdatenbanken dar und soll die Notwendigkeit der im folgenden Absatz dargestellten Funktion "ghcWithPackages" motivieren. Obwohl die Aussage "GHC-Speicherpfad ist unveränderlich, sobald er erstellt wurde" technisch nicht wahr ist, würde nix niemals das Systempaket-db modifizieren. Als "funktional" würde es ein weiteres Paket-db erstellen, das über der System-db liegt, und in diesem Sinne ist die Aussage wahr. – ErikR

+0

Ich denke jetzt verstehe ich, danke. –

Verwandte Themen