是否可以移动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只是在移动后设置正确的环境变量?
答案 0 :(得分:0)
编译器本身几乎是可移植的,只需设置环境变量OCAMLLIB
和CAML_LD_LIBRARY_PATH
,剩下的问题是运行字节码可执行文件,它将路径嵌入到ocamlrun中,有关详细信息,请参阅https://caml.inria.fr/mantis/view.php?id=5950。 / p>
至于软件包 - 没有通用的保证,这完全取决于构建期间的软件包。大多数不希望在运行时找到某些数据文件的“普通”库应该可以工作。正如上面的评论所表明的那样,拍摄opam状态(束)的快照并在不同的路径中重建通常会更快。