Wie verhalten sich "cabal-dev" und "cabal sandbox init" zueinander?

8

Es scheint, dass ich etwas vermisse. Soweit ich weiß, sagt cabal sandbox init , dass ab dem aktuellen Ordner und allen Unterordnern alle cabal install -Befehle auf eine Sandbox beschränkt sind. Alles außerhalb dieses Ordners befindet sich nicht in einer Sandbox.

Was ist der Zweck von cabal-dev? Sollte ich cabal install oder cabal-dev install in einer Sandbox verwenden?

    
Aleksey Bykov 02.11.2013, 03:47
quelle

1 Antwort

21

TLDR, cabal-dev war eine erste Lösung für Sandboxing und cabal sandbox ist die vollständig integrierte Umsetzung.

Bis vor ein paar Monaten gab es keinen angenehmen Weg zu Sandbox-Builds mit cabal . Dies war ein großes Problem für jeden Bibliotheksbetreuer oder wirklich jeden, der sich über Abhängigkeitskonflikte Sorgen machen könnte. Um dies zu lösen, ein paar Leute aber zusammen ein Werkzeug namens cabal-dev . Es ergänzt cabal und hinzugefügt einige Fähigkeit, Sandbox.

Nun, nachdem dies seit ein paar Jahren existiert, hat cabal in Version 1.18 Sandboxes gewonnen! Das bedeutet, dass wir von cabal + cabal-dev auf nur noch cabal umstellen können, da cabal nun cabal-dev subsumiert hat.

Da Sandboxes außerdem vollständig in Cabal integriert sind, spielen sie gut mit anderen Cabal-Features wie cabal repl , was für cabal-dev einfach unmöglich ist.

Schliesslich deutet das kürzliche Gerede auf der Haskell-Cafe-Mailingliste darauf hin, dass cabal-dev wahrscheinlich nicht länger länger gepflegt wird, also gibt es abgesehen von 1-2 aktuellen Fehlern in cabal sandbox keinen Grund, nicht zu wechseln.

    
jozefg 02.11.2013 03:59
quelle

Tags und Links