emacs ocaml REPL:“搜索程序:没有这样的文件或目录,ocaml”
我试图在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 tuareg
和GNU emacs 24.5.1
使用sudo apt-get install emacs
来安装tuareg
。
当我试图在Emacs中键入M-x run-ocaml
和return
使用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
)。这开辟了一个新的缓冲区:
但是,当我试图在新的缓冲区类的东西,说1+1;;
,并创下shift-return
,我得到Output file descriptor of OCaml is closed
,如上图所示。
我一直在阅读不同的文档和线索的指示,但他们都没有描述我的情况。任何帮助将非常感激!
回答:
也许你应该尝试像M-x run-ocaml
,return
,然后键入类似/usr/bin/opam config exec -- ocaml
(或任何路径到您的OPAM安装),而不是ocaml
回答:
所以我按照realworldocaml解决了这个问题。我意识到我的帖子中有几个问题,所以我使用这个答案 分享链接中建议的每个解决方案。
@ ghilesZ的回答完美地解决了我的问题标题(谢谢!)中的问题。我应该在M-x
命令(正如上面的答案所示)或~/.emacs
配置文件中(如链接所暗示的)添加ocaml
的路径。完成以下步骤后,可以通过在终端中输入which ocaml
来获取路径。
需键入
eval `opam config env`
运行从终端ocaml
可以通过将行到~/.bashrc
文件来解决。这是因为在当前shell中输入命令只会为当前shell设置一些东西。为了让将来的shell自动设置,它需要被添加到登录脚本中。
以上是 emacs ocaml REPL:“搜索程序:没有这样的文件或目录,ocaml” 的全部内容, 来源链接: utcz.com/qa/264021.html