是否可以移动OPAM根目录?或者,创建一个OPAM root的“可移植”版本(例如,"firefox可移植“)?
也就是说,通过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仅仅是在移动后设置正确的环境变量的问题?
发布于 2018-05-12 01:40:42
编译器本身几乎是可移植的,只需设置环境变量OCAMLLIB和CAML_LD_LIBRARY_PATH,剩下的问题是运行字节码可执行文件,其中嵌入了ocamlrun的路径,详细信息请参阅https://caml.inria.fr/mantis/view.php?id=5950。
至于包-没有通用的保证,这完全取决于包在构建过程中做了什么。不过,大多数不希望在运行时找到某些数据文件的“普通”库应该可以工作。正如上面的评论所暗示的,获取opam状态(包)的快照并在不同的路径中重建通常会更快。
https://stackoverflow.com/questions/50031639
复制相似问题