【发布时间】:2013-08-28 11:00:36
【问题描述】:
跑步
open Graphics;;
在 OCaml 中返回一个错误,说它是一个未绑定的模块。在终端 (ocaml) 中运行它会返回相同的结果。
这是否意味着我的图形模块没有与 OCaml 包一起安装?如果是这样,我该如何安装模块?
在 Fedora 上。
【问题讨论】:
跑步
open Graphics;;
在 OCaml 中返回一个错误,说它是一个未绑定的模块。在终端 (ocaml) 中运行它会返回相同的结果。
这是否意味着我的图形模块没有与 OCaml 包一起安装?如果是这样,我该如何安装模块?
在 Fedora 上。
【问题讨论】:
这个错误在 Mac OS X 上也经常出现。在安装 Homebrew 时,这个模块默认是禁用的,所以brew install ocaml 不会安装 Graphics 模块,可能是由于 XQuartz 依赖。
如果您运行brew info ocaml,它会告诉您有一个标志,即--with-x11,它将“与图形模块一起安装”。因此,要安装/重新安装 ocaml,您必须运行:
brew install Caskroom/cask/xquartz
brew [re]install ocaml --with-x11
最后记得检查正在运行的ocaml 实例是否是/usr/local/Cellar/objective-caml/x.yy.z[_w]/bin 中的实例,如果不是,则将该url 附加到PATH 环境变量中。还记得在安装 XQuartz 后重新启动计算机。
【讨论】:
PATH 变量中;请改用/usr/local/opt/ocaml/bin。此路径不会因 OCaml 升级而改变。
brew doctor 并清理了一些问题(包括升级 xquartz),但我一开始没有重新启动。经过一番拉扯后,一篇文章提示我重新启动。然后,完全清理并重新安装 ocaml + opam + utop,open_graphics 正在工作。某人。
--with-x11,除了编译源代码还有其他选择吗?
图形模块默认没有准备好。您需要手动加载它。在顶层:
$ ocaml
OCaml version blahblah
# #load "graphics.cma";;
# open Graphics;;
或者你可以在命令行中指定:
$ ocaml graphics.cma
OCaml version blahblah
# open Graphics;;
我不了解 Fedora,但如果上述方法失败,则说明您的环境中并未真正安装图形。
【讨论】: