Ich habe zwei Projekte in meinem Benutzerverzeichnis ~
, das Projekt A
und B
. Ich führe stack init
und später stack build
auf das Projekt A
. Dann habe ich die Binärdateien des A
Pakets in einem Ordner ~/.stack-work/install/x86_64-linux/lts-6.0/7.10.3/bin
. Das Problem ist B
benötigt diese Version der Binärdateien von A
Paket, und versuchen Sie dann den gleichen Build mit stack
auf dem B
Projektverzeichnis. Ich habe versucht, ~/B
führen Sie den folgenden Befehl ohne Erfolg.Stack mit Binärdateien anderer Paket
stack build ~/.stack-work/install/x86_64-linux/lts-6.0/7.10.3/bin
Wie kann ich das tun? Was passiert, wenn ich ein drittes Paket erstellen C
, und brauche etwas ähnliches?
Auszüge:
Der A.cabal
Inhalt.
name: A
version: 1.1
Und die B.cabal
.
name: B
version: 1.0
build-depends: A>= 1.1
Dann
$ stack init
Looking for .cabal or package.yaml files to use to init the project.
Using cabal packages:
- B.cabal
Selecting the best among 8 snapshots...
* Partially matches lts-6.0
A version 1.0 found
- A requires ==1.1
Dies wird durch gelöst werden kann: - ‚--omit-Pakete Mit Mismatching Paket auszuschließen (s). - Mit '--resolver' einen passenden Snapshot/Resolver angeben
Aber ich habe tatsächlich die Version 1.1 von A
build.
Können Sie Ihre .cabal-Dateien aus beiden Projekten veröffentlichen? Versuchen Sie, das kleinste Beispiel zu finden, das das Problem aufzeigt. Ich würde gerne in der .cabal Datei sehen, wie sich Projekt B auf Sachen aus Projekt A bezieht. – ErikR
Ich habe die Frage aktualisiert. – jonaprieto