当我试图用emacs编译我的文件时
ocamlbuild -use-ocamlfind main.native我有一个错误:
ocamlbuild -use-ocamlfind main.native
Failure: ocamlfind not found on path, but -no-ocamlfind not used.当我用相同的命令编译它时,但是在我的终端(zsh)中,我没有问题。我认为emacs找不到ocamlfind有一个问题,但我不明白这个问题可能是什么。(一切都是用opam安装的,我已经安装了OCamlbuild和OCamlfind,我安装了eval $(opam config env))
当我做M-x getenv PATH,我有完全相同的路径,我在我的终端。
发布于 2018-03-20 14:12:23
让它起作用的是用emacs写这个:
(setq shell-file-name "zsh")
(setq shell-command-switch "-ic")我也不知道为什么。
发布于 2018-03-20 14:02:10
显然,Emacs中的环境设置不正确。您可以在执行eval $(opam config env)的终端上运行emacs,然后它将继承所有需要的变量。或者,您可以使用以下命令:
(defun opam-env ()
(interactive nil)
(dolist (var
(car (read-from-string
(shell-command-to-string "opam config env --sexp"))))
(setenv (car var) (cadr var))))只要将其添加到init脚本中,并在运行新的Emacs副本或切换到另一个编译器时与M-x opam-env一起运行即可。
https://stackoverflow.com/questions/49385913
复制相似问题