Erlang 插件pc不可用
当我尝试在服务器上构建我的应用程序时:Erlang 插件pc不可用,erlang,edeliver,Erlang,Edeliver,当我尝试在服务器上构建我的应用程序时: 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. =E
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
有什么想法吗?错误消息
未找到类型为“Atom”的强制块
表明您有一个使用Erlang/OTP 20.0或更高版本编译的.beam
文件,并且正在尝试在早期版本中加载它。尝试删除pc
插件的.beam
文件,让它重新生成它们。我将Elixir从1.6.4
降级到1.5.2
后,问题消失了