2

当我尝试在服务器上构建我的应用程序时:

APP="my_app" MIX_ENV="prod" AUTO_VERSION="" BRANCH="master" SKIP_RELUP_MODIFICATIONS="" RELUP_MODIFICATION_MODULE="" USING_DISTILLERY="true" mix do clean, compile

我收到此错误:

===> Plugin pc not available. It will not be used.

=ERROR REPORT==== 30-Apr-2018::10:21:55 ===
beam/beam_load.c(1287): Error loading module pc:
  mandatory chunk of type 'Atom' not found



=ERROR REPORT==== 30-Apr-2018::10:21:55 ===
Loading of /tmp/edeliver/my_app/builds/deps/re2/_build/default/plugins/pc/ebin/pc.beam failed: badfile
===> Compiling re2
===> Unable to run pre hooks for 'compile', command 'compile' in namespace 'pc' not found.
** (Mix) Could not compile dependency :re2, "/home/ubuntu/.mix/rebar3 bare compile --paths "/tmp/edeliver/my_app/builds/_build/prod/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile re2", update it with "mix deps.update re2" or clean it with "mix deps.clean re2"


erl -v
Erlang/OTP 19 [erts-8.3.5] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V8.3.5  (abort with ^G)

$ ~/.mix/rebar3 -v
rebar 3.3.6 on Erlang/OTP 19 Erts 8.3.5

任何想法?

4

1 回答 1

3

该错误消息mandatory chunk of type 'Atom' not found表明您有一个.beam使用 Erlang/OTP 20.0 或更高版本编译的文件,并且正在尝试在早期版本中加载它。尝试删除插件的.beam文件pc并让它重建它们。

于 2018-05-01T11:48:29.153 回答