Ocaml eliom 5.0.0:无法使其工作

Ocaml eliom 5.0.0:无法使其工作,ocaml,ocsigen,Ocaml,Ocsigen,我已将eliom更新为通过opam安装的最新版本(5.0.0),但失败。我已使用4.02.1和4.02.3编译器尝试了这两种方法,但它无法编译基本eliom: eliomdep -client -ppx -package lwt.ppx -package js_of_ocaml.deriving.ppx -package js_of_ocaml.ppx mysite.eliom > _deps/mysite.eliom.client Fatal error: exception Fl_pa

我已将eliom更新为通过opam安装的最新版本(5.0.0),但失败。我已使用4.02.1和4.02.3编译器尝试了这两种方法,但它无法编译基本eliom:

eliomdep -client -ppx -package lwt.ppx -package js_of_ocaml.deriving.ppx -package js_of_ocaml.ppx mysite.eliom > _deps/mysite.eliom.client
Fatal error: exception Fl_package_base.No_such_package("js_of_ocaml.deriving.ppx", "")
make: *** [_deps/mysite.eliom.client] Erreur 2

有什么想法吗?

您似乎缺少ppx派生插件。这是一个可选的依赖项

opam install ppx_deriving

您正在使用基本模板吗?我不记得其中有任何ppx派生的用法。

看起来eliom distillery生成的Makefile.options中有一个缺陷:客户端包最初等于.ppx的列表;必须删除.ppx扩展才能使其正常工作:

初始Makefile.options

...
# OCamlfind packages for the server
SERVER_PACKAGES := lwt.ppx js_of_ocaml.deriving.ppx
# OCamlfind packages for the client
CLIENT_PACKAGES := lwt.ppx js_of_ocaml.deriving.ppx js_of_ocaml.ppx
...
已更正Makefile.options:

...
# OCamlfind packages for the server
SERVER_PACKAGES := lwt js_of_ocaml.deriving
# OCamlfind packages for the client
CLIENT_PACKAGES := lwt js_of_ocaml.deriving js_of_ocaml
...

这是由于未安装ppx派生.3.0。(Thx to Drup)

我刚刚尝试安装ppx_派生:“ocaml.2.7的js_与ppx_派生.1.1冲突”。我使用的是基本模板:“eliom distillery-name mysite-template basic.ppx-target directory mysite”;然后,“cdmysite;maketest.byte”就是所有的.ppx_派生.1.1是一个相当旧的版本。你应该使用3.0<代码>opam安装ppx_.3.0。您可能也需要阅读。OCAML4.02.3的安装很好,但在生成test.byte时仍然会出现错误。失败的命令是:js_of_eliom-ppx-c-package lwt.ppx-package js_of_ocaml.deriving.ppx-package js_of_ocaml.ppx mysite.eliom;当我在没有“.ppx”的情况下手动键入此命令时,它可以工作(“js_of_eliom-ppx-c-package lwt-package js_of_ocaml.deriving-package js_of_ocaml mysite.eliom”)包是否存在?您可以使用
ocamlfind list
进行检查。