emacs ocaml REPL:"搜索程序:没有这样的文件或目录,ocaml"

时间:2017-12-18 14:12:59

标签: ubuntu emacs ocaml opam

我试图在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
根据{{​​1}}安装后的说明

到我的~/.profile文件。我使用opamtuareg使用opam install tuareg安装了GNU emacs 24.5.1

当我在emacs中输入sudo apt-get install emacsocaml时尝试使用M-x run-ocaml REPL时,我得到了return;当我再次点击OCaml REPL to run: ocaml时,我得到了

enter

然后我尝试Searching for program: no such file or directory, ocaml 看看我是否可以从shell运行M-x shell,我注意到每次要运行ocaml时我都需要使用opam switch终端/外壳;如果我直接输入ocaml,我会得到

ocaml

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

第二次尝试,我回到emacs并输入The program 'ocaml' is currently not installed. You can install it by typing: sudo apt-get install ocaml-interp ,点击M-x run-ocaml,再次点击return return(此时没有OCaml REPL to run: }})。这开辟了一个新的缓冲区:

output file descriptor closed

但是当我尝试在新缓冲区中输入内容时,请说ocaml,然后点击1+1;;,我会得到shift-return,如上所示。

我一直在阅读不同的文档和线程以获取指示,但没有一个能够描述我的情况。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

所以我按照realworldocaml解决了这个问题。我意识到我的帖子中有几个问题,所以我正在使用这个答案 按照链接中的建议分享每个解决方案。

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

需要输入

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