问题描述
软件包安装正确。
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
。同样,如果我写 merlin
,VS 代码中的 open Core
会给我红色波浪线。
有人能帮我理解发生了什么吗?如果它们有帮助,我可以为您提供更多详细信息。我已经查看了所有被问到的类似问题,但没有一个能帮助我解决这个问题。
编辑:如果有帮助,这是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 相关内容,否则可能会破坏内容。