簡體   English   中英

應用程序中的Elixir源代碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM