2017-12-18 414 views
0

我试图在Ubuntu 16.04.3在VirtualBox上设置OCaml。我对他们都是新手;请原谅我的无知。我使用emacs ocaml REPL:“搜索程序:没有这样的文件或目录,ocaml”

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

安装opam,并根据以下的opam安装说明添加

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

~/.profile文件。我使用opam install tuaregGNU emacs 24.5.1使用sudo apt-get install emacs来安装tuareg

当我试图在Emacs中键入M-x run-ocamlreturn使用ocaml REPL,我OCaml REPL to run: ocaml;当我再次打enter,我

Searching for program: no such file or directory, ocaml 

然后我试图M-x shell,看看我是否可以运行外壳ocaml,我发现我需要使用opam switch我想从终端/ shell中运行ocaml每次;如果我直接键入ocaml,我会得到

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

我不知道这是否有什么关系,我发现了问题。

作为第二次尝试,我又回到了Emacs和类型M-x run-ocaml,打return,并在OCaml REPL to run:再次命中return(这次没有ocaml)。这开辟了一个新的缓冲区:

output file descriptor closed

但是,当我试图在新的缓冲区类的东西,说1+1;;,并创下shift-return,我得到Output file descriptor of OCaml is closed,如上图所示。

我一直在阅读不同的文档和线索的指示,但他们都没有描述我的情况。任何帮助将非常感激!

回答

1

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

0

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

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

需键入

eval `opam config env` 

运行从终端ocaml可以通过将行到~/.bashrc文件来解决。这是因为在当前shell中输入命令只会为当前shell设置一些东西。为了让将来的shell自动设置,它需要被添加到登录脚本中。

相关问题