繁体   English   中英

emacs ocaml REPL:“正在搜索程序:没有此类文件或目录,ocaml”

[英]emacs ocaml REPL: “Searching for program: no such file or directory, ocaml”

我正在尝试在VirtualBox的Ubuntu 16.04.3中设置OCaml。 我是所有人的新手。 请原谅我的无知。 我使用安装了opam

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

并添加

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

根据opam安装后的说明将其opam到我的~/.profile文件中。 我安装tuareg使用opam install tuaregGNU emacs 24.5.1使用sudo apt-get install emacs

当我尝试通过键入Mx run-ocamlreturn emacs来使用ocaml REPL时,我让OCaml REPL to run: ocaml ; 当我再次按下enter时,我得到了

Searching for program: no such file or directory, ocaml

然后,我尝试使用Mx shell来查看是否可以从shell运行ocaml ,并且我发现每次要从终端/外壳运行ocaml ,都需要使用opam switch 如果我直接输入ocaml ,我会得到

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

我不确定这是否与我遇到的问题有关。

第二次尝试,我回到emacs并键入Mx run-ocaml ,命中return ,然后在OCaml REPL to run:处再次命中return OCaml REPL to run:这次没有ocaml )。 这打开了一个新的缓冲区:

输出文件描述符已关闭

但是,当我尝试在新缓冲区中键入内容时,请说1+1;; ,然后按shift-return ,我得到Output file descriptor of OCaml is closed ,如上所示。

我一直在阅读不同的文档和主题以获取相关说明,但是它们都不能完全描述我的情况。 任何帮助将非常感激!

也许您应该尝试类似Mx run-ocamlreturn ,然后键入类似/usr/bin/opam config exec -- ocaml (或您的opam安装的任何路径),而不是ocaml

所以我通过遵循realworldocaml解决了这个问题。 我意识到自己的帖子中有几个问题,因此我正在使用此答案按链接中的建议与每个人共享解决方案。

@ghilesZ的答案可以很好地解决我的问题标题中的问题(谢谢!)。 我应该已经在Mx命令(如以上答案所示)或~/.emacs配置文件(如链接所示)中添加了ocaml的路径。 完成以下步骤后which ocaml可以通过在终端中键入which ocaml来获取路径。

需要输入

eval `opam config env`

通过将行添加到~/.bashrc文件,可以解决从终端运行ocaml的问题。 这是因为在当前shell中键入命令只会为当前shell设置内容。 为了使将来的Shell自动设置,需要在登录脚本中添加它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM