无法让 utop 和 merlin 与 Core 和 Base 一起工作
Cannot get utop and merlin to work with Core and Base
软件包安装正确。
opam install core
[NOTE] Package core is already installed (current version is v0.14.1)
opam install base
[NOTE] Package base is already installed (current version is v0.14.1).
我的 .ocamlinit 文件有
(* ## added by OPAM user-setup for ocamltop / base ## 3ec62baf6f9c219ae06d9814069da862 ## you can edit, but keep this line *)
(* ## end of OPAM user-setup addition for ocamltop / base ## keep this line *)
#use "topfind";;
#thread;;
#camlp4o;;
#require "core.top";;
#require "core.syntax";;
真正奇怪的是 - 当我使用 ocaml
命令启动 ocaml 的顶层时
它会正确加载所有内容,并且 open Core;;
open Base;;
之类的命令可以正常工作。但它们不适用于 utop。我得到 Error: Unbound module Core
。同样,如果我写 open Core
.
,VS 代码中的 merlin
会给我红色波浪线
有人可以帮助我了解发生了什么吗?如果有帮助,我可以为您提供更多详细信息。我已经查看了所有提出的类似问题,none 帮助我解决了这个问题。
编辑:如果有帮助,这是 opam switch
的结果
❯ opam switch
# switch compiler description
-> 4.12.0 ocaml-base-compiler.4.12.0 4.12.0
default ocaml-base-compiler.4.12.0 default
utop
未与 opam
一起安装,而是与 brew
一起安装,因此找不到库。
请记住在使用 opam
安装所有内容之前始终清理所有与 OCaml 相关的内容,否则它可能会破坏内容。
软件包安装正确。
opam install core
[NOTE] Package core is already installed (current version is v0.14.1)
opam install base
[NOTE] Package base is already installed (current version is v0.14.1).
我的 .ocamlinit 文件有
(* ## added by OPAM user-setup for ocamltop / base ## 3ec62baf6f9c219ae06d9814069da862 ## you can edit, but keep this line *)
(* ## end of OPAM user-setup addition for ocamltop / base ## keep this line *)
#use "topfind";;
#thread;;
#camlp4o;;
#require "core.top";;
#require "core.syntax";;
真正奇怪的是 - 当我使用 ocaml
命令启动 ocaml 的顶层时
它会正确加载所有内容,并且 open Core;;
open Base;;
之类的命令可以正常工作。但它们不适用于 utop。我得到 Error: Unbound module Core
。同样,如果我写 open Core
.
merlin
会给我红色波浪线
有人可以帮助我了解发生了什么吗?如果有帮助,我可以为您提供更多详细信息。我已经查看了所有提出的类似问题,none 帮助我解决了这个问题。
编辑:如果有帮助,这是 opam switch
❯ opam switch
# switch compiler description
-> 4.12.0 ocaml-base-compiler.4.12.0 4.12.0
default ocaml-base-compiler.4.12.0 default
utop
未与 opam
一起安装,而是与 brew
一起安装,因此找不到库。
请记住在使用 opam
安装所有内容之前始终清理所有与 OCaml 相关的内容,否则它可能会破坏内容。