2017-10-07 2 views
2

Ein häufiges Problem mit oberen Grenzen ist, dass Paketautoren, die unsicher sind, sich für konservative obere Grenzen ihrer Abhängigkeiten entscheiden (z.B. Basis). Dies ist tendenziell eine unpopuläre Wahl für Benutzer, die in Zukunft möglicherweise daran gehindert werden, solche Pakete zu verwenden.Wie erhalten Sie die oberen Grenzen für ein Hackage-Paket?

Ich habe vor kurzem festgestellt, dass dieses Problem eine Lösung haben könnte, in der der Autor Metadatenänderungen an das ansonsten unveränderte Paket as seen here schiebt. Wie können Benutzer diese neue Funktion nutzen? Ist es irgendwo im Detail dokumentiert oder ist es experimentell?

Antwort

2

Benutzer können diese genaue Funktion nur nutzen, indem sie den Paketbetreuer bitten, eine solche Abhängigkeitsrevision auf Hackage vorzunehmen. Machen Sie das auf jeden Fall, wenn Sie sicher sind, dass eine Abhängigkeit unnötig konservativ ist, aber seien Sie darauf gefasst, dass dies nicht sofort passiert.

Aber Sie brauchen nicht brauchen dies nur ein Paket auf Ihrem Computer mit neueren Abhängigkeiten als die "offiziell unterstützten" zu installieren. Nur

cabal install token-bucket --allow-newer base 

Alternativ verwenden, können Sie statt direkt aus Hackage Installation des Quellcodes (am typischsten von Github) in einem lokalen Repository

git clone [email protected]:hvr/token-bucket.git 
cd token-bucket 

ziehen ... anwenden jede Änderungen an den Abhängigkeiten, die Sie möchten

sed -i 's/\(base[^<]*\)<4.10/\1<4.11/' token-bucket.cabal 

... und von diesem lokalen Cop installieren y:

cabal install 

Wenn nichts anderes, können Sie einfach bekommen die genaue Hackage Version der Quelle durch cabal fetch, aber IMO sollte man immer die native Versionskontrollsystem verwenden, wenn Änderungen an jede Codebasis.

Verwandte Themen