我已将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
有什么想法吗?
答案 0 :(得分:1)
你似乎错过了ppx派生插件。它是一个可选的依赖项。
opam install ppx_deriving
您使用的是基本模板吗?我不记得任何使用ppx的用法。
答案 1 :(得分:1)
看起来eliom-distillery生成的Makefile.options存在缺陷:CLIENT_PACKAGES最初等于< package> .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-deriving.3.0。 (Thx to Drup)