Compilation 应用程序中的Elixir源代码
我想将具有Elixir后端的应用程序分发给最终用户,以便它可以在他们自己的机器上运行。有没有办法让他们不用访问原始源代码,但可以向我发送可以分析的崩溃报告?假设Elixir系统是作为一个合适的OTP应用程序开发的,您可以使用构建OTP版本,并将其分发给客户机。该版本将删除所有编译时构造,如源代码或测试 基本上,您需要在Compilation 应用程序中的Elixir源代码,compilation,erlang,elixir,Compilation,Erlang,Elixir,我想将具有Elixir后端的应用程序分发给最终用户,以便它可以在他们自己的机器上运行。有没有办法让他们不用访问原始源代码,但可以向我发送可以分析的崩溃报告?假设Elixir系统是作为一个合适的OTP应用程序开发的,您可以使用构建OTP版本,并将其分发给客户机。该版本将删除所有编译时构造,如源代码或测试 基本上,您需要在mix.exs中添加exrm作为依赖项,然后: mix deps.get MIX_ENV=prod mix compile --no-debug-info MIX_ENV=prod
mix.exs
中添加exrm作为依赖项,然后:
mix deps.get
MIX_ENV=prod mix compile --no-debug-info
MIX_ENV=prod mix release
生成的版本将驻留在项目根目录下的rel/your\u app\u name
文件夹中。它还将在erts-X.Y
子文件夹中包含嵌入式Erlang运行时。这意味着您不需要在目标机器上安装Erlang,但需要在它的精确副本(OS版本&arch)上构建一个发行版
如果删除erts-X.Y
文件夹,生成的版本仍将工作,但需要在系统上安装Erlang并在path中可用。这使得该版本更加跨平台,但不那么独立
无论哪种方式,您都不需要在目标机器上使用长生不老药。生成的OTP版本中将包含必要的文件
最后一点注意:目前,exrm
在Windows上不起作用(但正在进行一些修复工作),因此如果这是您的目标操作系统,您需要寻找其他方法来生成发行版