我的问题类似于这篇文章:
OCaml: Can't run utop after installing it
我尝试打开核心库,最终遇到同样的问题:
$ open Core.Std
Couldn't get a file descriptor referring to the console
我尝试了以下带有正确引号的命令:
eval `opam config env`
但是没有任何事情发生,尽管我已经安装了核心,问题仍然存在。我也尝试按照此网页上的安装说明(https://github.com/realworldocaml/book/wiki/Installation-Instructions),但没有提到这个奇怪的问题。
我在Windows 8上通过Hyper-V在虚拟机中使用Ubuntu 24。另一个我想问的问题是,许多网页如(http://kwangyulseo.com/2014/03/04/installing-ocamlopamutopcore-library-on-ubuntu-saucy/)建议在" .ocamlinit中编译某些命令行文件&#34 ;.但我不知道在哪里可以找到这个文件以及如何在linux中修改它。在我生命中的大部分时间里,我一直是Windows用户。
很抱歉,问题的级别太低了。
答案 0 :(得分:2)
哦,伙计。 open Core.Std
不是bash命令。您需要打开OCaml toplevel(即执行utop
或ocaml
)并在那里执行此命令。可能它没有在manual中明确写出来。如果你看到
#use "topfind";;
#thread;;
#camlp4o;;
#require "core.top";;
#require "core.syntax";;
这意味着您应该手动输入(或添加.ocamlinit)。我的意思是你也应该输入#
。因此,如果您使用ocaml
,则会看到两个#
。这很正常。
关于OCaml init文件。如您所见,他们将其称为~/.ocamlinit
。字符~
表示POSIX系统中的主目录。因此,您可能需要一些GUI文本编辑器(例如gedit
或kwrite
),创建新文件,将内容放在那里并将其保存到主目录中。注: POSIX系统没有文件扩展名的概念,即前导点是文件名的一部分。