![](/img/trans.png)
[英]Where to start? Aesthetic changes to a .net application (without source code)
[英]Elixir source code in an application
我想将具有Elixir后端的应用程序分发给最终用户,以便可以在自己的计算机上运行。 有没有一种方法可以使他们无权访问原始源代码,但可以向我发送我可以分析的崩溃报告?
假设将Elixir系统开发为适当的OTP应用程序,则可以使用exrm构建OTP版本,并将其分发给客户端。 释放剥离了所有编译时结构,例如源代码或测试。
基本上,您需要将exrm作为依赖添加到mix.exs
,然后:
mix deps.get
MIX_ENV=prod mix compile --no-debug-info
MIX_ENV=prod mix release
生成的发行版将位于项目根目录下的rel/your_app_name
文件夹中。 它还将在erts-XY
子文件夹中包含嵌入式Erlang运行时。 这意味着您不需要在目标计算机上安装Erlang,但是需要在它的精确副本上构建发行版(OS版本和arch)。
如果删除erts-XY
文件夹,则生成的发行版仍然可以使用,但是需要将Erlang安装在系统上并且在路径中可用。 这使发行版更具跨平台性,但自包含性较低。
无论哪种方式,您都不需要在目标计算机上使用Elixir。 必要的文件将包含在生成的OTP版本中。
最后说明:当前exrm
在Windows上不起作用(但已完成一些工作以解决此问题),因此,如果这是您的目标操作系统,则需要寻找其他方式来生成发行版。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.