Macos 找不到图阿雷格模式emacs ocaml

Macos 找不到图阿雷格模式emacs ocaml,macos,emacs,ocaml,tuareg,Macos,Emacs,Ocaml,Tuareg,我正在mac os x 10.9上运行emacs 24.3。我已经为ocaml编程安装了tuareg模式,但无法使用命令C-C-b进行编译。按相同的键时,minibuffer会询问我“Caml toplevel to run:ocaml”。当我按enter键时,它显示错误“搜索程序:没有这样的文件或目录,ocaml”。我缺少什么?您需要设置PATH环境变量&Emacs的exec PATH变量以更正值。一种可能是使用如下内容(在~/.emacs中): 要正确地从shell和这两个变量获取路径。这样

我正在mac os x 10.9上运行emacs 24.3。我已经为ocaml编程安装了tuareg模式,但无法使用命令C-C-b进行编译。按相同的键时,minibuffer会询问我“Caml toplevel to run:ocaml”。当我按enter键时,它显示错误“搜索程序:没有这样的文件或目录,ocaml”。我缺少什么?

您需要设置
PATH
环境变量&Emacs的
exec PATH
变量以更正值。一种可能是使用如下内容(在
~/.emacs
中):


要正确地从shell和这两个变量获取
路径
。这样做的一个优点是,您将只在一个地方设置
路径
,即在shell init脚本中。

因此,我发现了一种很酷的模式,可以将shell变量自动加载到mac用户的emacs环境中。非常方便:


只需安装它并更新.emacs文件,就可以了。

因此我理解了有关在emacs shell中设置path变量的部分,但在安装ocaml时,shell init脚本中还没有设置路径。为什么我要重新设置它。请原谅我的无知。当Emacs启动时,它是从“初始”过程启动的,没有您的路径自定义-您可以通过执行
M-x getenv PATH
C-h v exec PATH
(在执行我的代码片段之前)来检查这一点并将值与实际shell输出的
echo$PATH
…进行比较,这似乎有效,但现在我发现了另一个问题。我现在得到的错误是:“致命错误:无法打开隐式模块”Pervisives“致命错误:异常杂项致命错误”。显然,ocaml只在我的bashshell中以管理员权限运行。如何从emacs中实现它!我认为,OCaml安装有问题——您是如何安装的?你也可以看看下面的问题:我从官方网站下载了ocaml-4.01.dmg并从那里安装了它。这对我很有帮助,但当从ELPA安装它时,我不得不将
(将hook'after init hook'exec path从shell initialize添加到我的init文件中)
,而不是像文档所说的那样。
(defun set-exec-path-from-shell-PATH ()
  (let ((path-from-shell (shell-command-to-string "$SHELL -c 'echo $PATH'")))
    (setenv "PATH" path-from-shell)
    (setq exec-path (split-string path-from-shell path-separator))))
(when window-system (set-exec-path-from-shell-PATH))