无法让 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 相关的内容,否则它可能会破坏内容。