Angenommen, ich möchte verschiedene Versionen von GHC verwenden, die jeweils einen anderen binären Namen haben.
Frage 1. Kann ich ./configure --prefix = ghc-some-version-dir für jede der Installationen verwenden und symbolische Links erstellen ghc-7.4.1
, ghc-7.6.2
, ghc-head
ohne Probleme?
Das heißt, nach der Installation und Erstellung von Binärdateien aus Quellcode. Die Verwendung virtueller Umgebungen wäre weiterhin erforderlich, um Projekte und ihre Abhängigkeiten zu erstellen.
Frage 2. Was verhindert, dass wir ghc zu Hackage mit einem Paketnamen hochladen ghc-version
mit einem binären Namen, der von seiner Version abhängt? z.B. Man könnte cabal install ghc-version-7.6.2
haben und eine binäre ghc-7.6.2
in ~ / .cabal / bin
Sie müssen nichts Besonderes tun. GHC installiert bereits alle ausführbaren Dateien mit versionierten Namen und Links vom nicht versionierten Namen zur zuletzt installierten Version, z. ein Link von "ghc" zu "ghc-7.6.1" oder was auch immer du zuletzt installiert hast. Wenn Sie aus dem Repository erstellen, ist die Versionsnummer ziemlich lang und enthält das Datum, an dem Sie sie erstellt haben.
Ich weiß nicht genau, warum GHC nicht auf Hackage ist, aber ich nehme an, dass das Build-System sehr kompliziert ist, und dass es verschlingen würde (und die Cabalization beizubehalten) wäre mehr Arbeit, als es wert ist.
Es gibt mehrere Lösungen
-w
-Flagge verwendet, lesen Sie seinen Kommentar unter: Ссылка
Tags und Links haskell