首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >失败:在路径上没有找到ocamlfind,但是没有使用-ocamlfind (zsh终端)

失败:在路径上没有找到ocamlfind,但是没有使用-ocamlfind (zsh终端)
EN

Stack Overflow用户
提问于 2018-03-20 13:44:31
回答 2查看 646关注 0票数 2

当我试图用emacs编译我的文件时

代码语言:javascript
复制
ocamlbuild -use-ocamlfind main.native

我有一个错误:

代码语言:javascript
复制
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,我有完全相同的路径,我在我的终端。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-20 14:12:23

让它起作用的是用emacs写这个:

代码语言:javascript
复制
(setq shell-file-name "zsh")
(setq shell-command-switch "-ic")

我也不知道为什么。

票数 1
EN

Stack Overflow用户

发布于 2018-03-20 14:02:10

显然,Emacs中的环境设置不正确。您可以在执行eval $(opam config env)的终端上运行emacs,然后它将继承所有需要的变量。或者,您可以使用以下命令:

代码语言:javascript
复制
(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一起运行即可。

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

https://stackoverflow.com/questions/49385913

复制
相关文章

相似问题

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