1

我已将 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

任何想法 ?

4

2 回答 2

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。(感谢德鲁普)

于 2016-02-04T19:46:06.053 回答
1

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

opam install ppx_deriving

你在使用基本模板吗?我不记得在其中派生了任何使用 ppx 的情况。

于 2016-02-04T18:54:01.307 回答