首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >emacs ocaml REPL:“正在搜索程序:没有这样的文件或目录,ocaml”

emacs ocaml REPL:“正在搜索程序:没有这样的文件或目录,ocaml”
EN

Stack Overflow用户
提问于 2017-12-18 22:12:59
回答 2查看 1.2K关注 0票数 0

我正在尝试在VirtualBox上设置Ubuntu16.04.3中的OCaml。我对他们所有人都是新手,请原谅我的无知。我使用以下命令安装了opam

代码语言:javascript
运行
复制
wget https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh -O - | sh -s /usr/local/bin

并添加了

代码语言:javascript
运行
复制
. /home/<username>/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true

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

当我试图通过在emacs中输入M-x run-ocamlreturn来使用ocaml REPL时,我得到了OCaml REPL to run: ocaml;当我再次点击enter时,我得到了

代码语言:javascript
运行
复制
Searching for program: no such file or directory, ocaml

然后我尝试了M-x shell,看看是否可以从shell运行ocaml,我注意到每次想要从终端/shell运行ocaml时都需要使用opam switch;如果我直接输入ocaml,我将得到

代码语言:javascript
运行
复制
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,如上所示。

我一直在阅读不同的文档和线程来获取指导,但它们都不能完全描述我的情况。任何帮助都将不胜感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-18 22:58:31

也许你应该尝试像M-x run-ocamlreturn这样的东西,然后输入像/usr/bin/opam config exec -- ocaml (或者你的opam安装路径)这样的东西,而不是ocaml

票数 1
EN

Stack Overflow用户

发布于 2017-12-19 00:34:01

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

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

需要打字

代码语言:javascript
运行
复制
eval `opam config env`

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47870286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档