我正试着通过真实世界的OCaml这本书来学习OCaml。他们有一个指南,我应该按照这个指南来安装Core包和utop。然而,虽然我似乎可以使用Opam成功地安装这两个工具,但当我尝试使用它们时,它们都不起作用。
我知道它们已安装,因为当我再次尝试安装它们时,会收到以下消息:
$ opam install utop core
[NOTE] Package utop is already installed (current version is 1.10).
[NOTE] Package core is already installed (current version is 109.55.02).但是,当我尝试输入" utop“来启动utop时,它不起作用。
$ utop
bash: utop: command not found当我尝试打开核心时也是如此:
$ open Core.Std
Couldn't get a file descriptor referring to the console这里发生了什么事?我是编程新手,所以可能有一些关于安装的东西我就是不理解。
发布于 2013-12-23 16:45:33
关于utop,似乎你的$PATH中没有。你做了吗:
$ eval `opam config env`如果希望在新的.bashrc中正确地自动设置opam,则应该将以下内容添加到shell中
. ~/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true至于不能打开Core.Std,当然也不能在shell中打开它,这个命令必须在utop中执行。
发布于 2016-07-03 15:52:23
在大多数在线资源中,在ubuntu中安装OCaml utop的方法似乎误导了用户。问题是,当使用sudo apt-get命令安装opam时,不需要再次使用相同的命令安装OCaml,因为OCaml是随opam一起安装的。所以你唯一要做的就是正确地初始化opam的状态,它定义了你的主文件夹中的OPAM根目录。
因此,如果您之前安装了任何OCaml,请先删除它们以避免冲突。
sudo apt-get purge --auto-remove ocaml-source
sudo apt-get purge opam然后安装opam。
sudo add-apt-repository ppa:avsm/ppa
sudo apt-get update
sudo apt-get install opam初始化opam的状态
opam init如果显示缺少依赖项的警告,请尝试此命令,
opam install depext
opam depext conf-m4.1然后验证ocaml安装,
eval 'opam config env'
ocaml然后安装UTop,
opam install utop
eval `opam config env`
utop有关详细信息和错误处理,请参阅此blog post。
发布于 2013-12-24 09:26:10
所以,我确实尝试了eval 'opam config env‘,结果如下:
$ eval 'opam congif env'
CAML_LD_LIBRARY_PATH="/home/jharvard/.opam/4.01.0/lib/stublibs"; export CAML_LD_LIBRARY_PATH;
PERL5LIB="/home/jharvard/.opam/4.01.0/lib/perl5"; export PERL5LIB;
OCAML_TOPLEVEL_PATH="/home/jharvard/.opam/4.01.0/lib/toplevel"; export OCAML_TOPLEVEL_PATH;
MANPATH="/home/jharvard/.opam/4.01.0/man:"; export MANPATH; PATH="/home/jharvard/.opam/4.01.0/bin:/etc/log50.d:/etc/log50.d:/usr/lib/qt-3.3/bin:/etc/log50.d:/usr/libexec/lightdm:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/jharvard/.local/bin:/home/jharvard/bin"; export PATH;然后仍然显示找不到"utop“命令。上面的道路对我来说是胡言乱语。有没有人能够看看它返回了什么,看看这是否表明问题可能是什么?
https://stackoverflow.com/questions/20738880
复制相似问题