我试图在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
文件。我使用opam
和tuareg
使用opam install tuareg
安装了GNU emacs 24.5.1
。
当我在emacs中输入sudo apt-get install emacs
和ocaml
时尝试使用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:
}})。这开辟了一个新的缓冲区:
但是当我尝试在新缓冲区中输入内容时,请说ocaml
,然后点击1+1;;
,我会得到shift-return
,如上所示。
我一直在阅读不同的文档和线程以获取指示,但没有一个能够描述我的情况。任何帮助将不胜感激!
答案 0 :(得分:1)
也许您应该尝试M-x run-ocaml
,return
之类的内容,然后输入类似/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能够自动设置,需要在登录脚本中添加它。