2017-12-18 17 views
0

Ich versuche, OCaml in Ubuntu 16.04.3 auf VirtualBox einzurichten. Ich bin neu für alle von ihnen; Bitte entschuldige meine Unwissenheit. Ich installierte opamemacs ocaml REPL: "Suche nach Programm: keine solche Datei oder Verzeichnis, ocaml"

wget https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh -O - | sh -s /usr/local/bin 

mit und fügte hinzu

. /home/<username>/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true 

meine ~/.profile Datei gemäß den Anweisungen nach der opam Installation. Ich installierte tuareg mit opam install tuareg und GNU emacs 24.5.1 mit sudo apt-get install emacs.

Wenn ich durch die Eingabe M-x run-ocaml und return in Emacs die ocaml REPL zu verwenden versuchte, bekam ich OCaml REPL to run: ocaml; wenn ich enter wieder traf, bekam ich

Searching for program: no such file or directory, ocaml 

Ich habe dann versucht M-x shell zu sehen, ob ich ocaml von Shell ausführen kann, und ich bemerkte, dass ich opam switch jedes Mal, ich möchte verwenden müssen ocaml vom Terminal/Shell auszuführen ; wenn es ocaml direkt eingeben, würde ich

The program 'ocaml' is currently not installed. You can install it by typing: sudo apt-get install ocaml-interp 

bekommt Ich bin nicht sicher, ob dies etwas mit dem Problem zu tun hat, ich bin immer.

Als zweiten Versuch ging ich in Emacs zurück und tippte M-x run-ocaml, traf return und traf return wieder OCaml REPL to run: (diesmal ohne ocaml). Dies eröffnet einen neuen Puffer:

output file descriptor closed

Aber wenn ich versucht, die Dinge in den neuen Puffer zu geben, sagen 1+1;;, und schlug shift-return, ich Output file descriptor of OCaml is closed, wie oben gezeigt.

Ich habe verschiedene Dokumentationen und Themen für Anweisungen gelesen, aber keiner von ihnen beschreibt meine Situation. Jede Hilfe würde sehr geschätzt werden!

Antwort

1

Vielleicht sollten Sie so etwas wie M-x run-ocaml, versuchen return, und dann so etwas wie /usr/bin/opam config exec -- ocaml geben (oder was auch immer der Pfad zu Ihrer OPAM Installation) statt ocaml

0

So löste ich das Problem, indem realworldocaml folgenden. Ich erkannte, dass ich einige Probleme in meinem Beitrag hatte, also verwende ich diese Antwort zu teilen Sie die Lösung zu jedem wie in der Verknüpfung vorgeschlagen.

@ ghilesZ die Antwort löst perfekt das Problem in meinem Fragetitel (danke!). Ich hätte den Pfad ocaml entweder im Befehl M-x (wie die obige Antwort vorschlägt) oder in der Konfigurationsdatei ~/.emacs hinzugefügt (wie der Link suggeriert). Der Pfad kann durch Eingabe von which ocaml im Terminal nach Abschluss des folgenden Schritts erhalten werden.

Die Notwendigkeit

eval `opam config env` 

eingeben ocaml vom Terminal laufen kann durch Hinzufügen der Zeile zu der ~/.bashrc Datei gelöst werden. Dies liegt daran, dass das Eingeben des Befehls in der aktuellen Shell nur für die aktuelle Shell eingerichtet wird. Damit zukünftige Shells automatisch eingerichtet werden können, müssen sie in den Anmeldeskripts hinzugefügt werden.

Verwandte Themen