如何移动OPAM根目录?

时间:2018-04-25 21:30:15

标签: build ocaml portable-applications opam utop

是否可以移动OPAM根目录?或者,创建一个便携式的" (在例如" firefox portable")OPAM root版本的意义上?

也就是说,通过opam --root=/PATH/TO/A安装一堆软件包,然后将/PATH/TO/A移至/ANOTHER/PATH/TO/B,并从那里运行所有内容。

天真的尝试导致了" opam config env"中的一个小错误,旧的路径滑过了。此外,还必须调整一些配置文件(findlib,global-config)。在确定之后,一些东西起作用,但是" utop"失败了

Fatal error: exception Not_found

这是一个主要问题,还是便携式OPAM root只是在移动后设置正确的环境变量?

1 个答案:

答案 0 :(得分:0)

编译器本身几乎是可移植的,只需设置环境变量OCAMLLIBCAML_LD_LIBRARY_PATH,剩下的问题是运行字节码可执行文件,它将路径嵌入到ocamlrun中,有关详细信息,请参阅https://caml.inria.fr/mantis/view.php?id=5950。 / p>

至于软件包 - 没有通用的保证,这完全取决于构建期间的软件包。大多数不希望在运行时找到某些数据文件的“普通”库应该可以工作。正如上面的评论所表明的那样,拍摄opam状态(束)的快照并在不同的路径中重建通常会更快。