模块在发布时不可用

时间:2017-12-04 08:58:21

标签: elixir distillery

我有一个使用feeder_ex解析XML的小型Elixir应用程序。在开发过程中一切都运行良好但是当我使用distillery构建我的版本时,我开始收到unavailable xmerl module错误。

我通过将xmerl应用程序添加到mix.exs下的应用程序列表中来解决它。但它对我没有意义,因为我已经有feeder_ex到我的应用程序列表。并且feeder_ex在其应用列表中有feeder,其xmerl位于其应用列表中。

那么为什么我必须在我自己的应用程序列表中再次声明它呢?

更新 - 添加Erlang版本/命令结果

xmerl =>

iex(3)> i :xmerl 
Term
  :xmerl
Data type
  Atom
Module bytecode
  /home/awea/.asdf/installs/erlang/19.3/lib/erlang/lib/xmerl-1.3.13    /ebin/xmerl.beam

erl =>

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

更新 - 添加Linux版本,vm.args

我使用ubuntu 16.04和酿酒厂1.5.2。这是我的vm.args文件:

#### Generated - edit/create /var/apps/vigil/vm.args instead.
## Name of the node
-name vigil@127.0.0.1

## Cookie for distributed erlang
-setcookie -

## Heartbeat management; auto-restarts VM if it dies or becomes unresponsive
## (Disabled by default..use with caution!)
##-heart

## Enable kernel poll and a few async threads
##+K true
##+A 5

## Increase number of concurrent ports/sockets
##-env ERL_MAX_PORTS 4096

## Tweak GC to run more often
##-env ERL_FULLSWEEP_AFTER 10

# Enable SMP automatically based on availability
-smp auto

更新 - 添加应用程序列表

def application do
  [mod: {Vigil, []},
    extra_applications: [
      :logger, :xmerl
    ]
  ]
end

0 个答案:

没有答案