Stellen Sie sicher, dass opam nicht installiert ist

488
Timothy Swan

Ich versuche makemit einer Abhängigkeit zu laufen, ocamlfindaber wenn ich versuche, das zu installieren, gibt es mir eine zirkuläre Abhängigkeit und eine Abhängigkeit von ocaml-base-nox.

Ich habe herausgefunden, dass ich bekommen könnte ocaml-findlibund libfindlib-ocamlwelche voneinander abhängig sind, um sie gleichzeitig mit einem Befehl zu installieren: sudo apt install ocaml-findlib ocaml-findlib libfindlib-ocaml ocaml-base-nox-4.01.0 Die verbleibende Abhängigkeit kehrt jedoch zurück Package 'ocaml-base-nox-4.01.0' has no installation candidate. Es erwähnt ein paar Pakete anscheinend:

Package ocaml-base-nox-4.01.0 is a virtual package provided by: ocaml-base-nox 4.01.0-3ubuntu3.1 [Not candidate version] ocaml-base-nox 4.01.0-3ubuntu3 [Not candidate version] 

Eine Antwort, die bei der Installation dieses Pakets hilft, kann hilfreich sein. Ansonsten opamkann es hilfreich sein, wenn Sie mir zeigen, wie Sie die installierte Instanz erkennen können. Wie Sie sehen können, hat diese Installation tatsächlich funktioniert:

vagrant@vagrant-ubuntu-trusty-64:~/projectfolder$ opam list # Installed packages for system: base-bigarray base Bigarray library distributed with the OCaml compiler base-threads base Threads library distributed with the OCaml compiler base-unix base Unix library distributed with the OCaml compiler conf-m4 1 Virtual package relying on m4 ocamlfind 1.7.3 A library manager for OCaml 

Wie Sie sehen, konnte ich ocamlfind erfolgreich über opam installieren. Interessanterweise scheint mein make-Befehl nicht zu erkennen, ocamlfindwas ich bei der Installation mit der Umgebung hinzugefügt habe opam:

/path/to/some/folder/which/is/super/secret -O2 -d acommand file.f [Error] Critical: Error starting ocamlopt process: Cannot run program "ocamlfind" (in directory "/path/to/some/folder/."): error=2, No such file or directory (Cannot run program "ocamlfind" (in directory "/path/to/some/folder/."): error=2, No such file or directory) make: *** [some/folder/timestamp] Error 113 
0

1 Antwort auf die Frage

0
Leonardo Lima

Dieses Problem tritt auf, weil Ihre Umgebungsvariablen nicht korrekt eingerichtet wurden. Um dies zu tun, sollte es ausreichend sein, den folgenden Befehl auszuführen:

eval `opam config env` 
Es ist schon eine Weile her, seit ich das gefragt habe. Ich verwende seitdem eine Virtual Box Ubuntu und habe mich mit OCaml nicht beschäftigt. Ich bin mir nicht sicher, ob ich das Problem dadurch gelöst habe oder nicht. Ich nehme an, Sie sind sicher, dass dies die typische Lösung ist. Ich werde sie als die nützlichste Antwort auswählen, zumal andere Antworten nicht existieren. Timothy Swan vor 7 Jahren 0