[英]How to correctly deploy Elixir/Phoenix program to Windows?
我正在尋找有關如何在Windows上部署和運行elixir / phoenix程序的建議。
我使用過Distillery,但是它與mix release
一起使用,但是命令提示符下沒有可用的命令。 每個建議的命令,例如
_build/dev.../<program> console
產生錯誤, not a recognized internal or external command
。
我也使用過exrm
,但是,即使在修改.bat
文件以刪除路徑中不需要的//
之后,它也會在erlang轉儲文件中產生kernel PID terminated
錯誤。
版:
.bat的編輯內容為:
<app>/rel/<app>/releases/version/app.bat and
<app>/rel/<app>/bin/app.bat
這是因為它試圖執行:
<app>/rel/<app>/releases//app.bat
而不是上面的。 (已在此處找到修復程序)
這有效,程序已執行但拋出錯誤:
終止的內核PID(應用程序控制器)無法啟動子級'elixir.helloworld.endpoint'
謝謝您到目前為止的幫助,很抱歉,這是我第一次做這部分。
注意:帶有exrm
程序的Windows 10與mix phoenix.server
正常運行
是否有人一步一步地使Elixir程序或服務在Windows上啟動?
編輯: mix release
期間收到警告:
variable deps does not exist and is being expanded to deps()
在嘗試啟動期間:
failed to open file <app>/rel/<app>releases/version/conform
編輯<app>/rel/<app>/bin/app.bat
:
已將""
添加到%start_erl%
@set start_erl=%release_root_dir%\releases\start_erl.data
@for /f "delims=" %%i in ('type "%start_erl%"') do
@(set start_erl_data=%%i)
編輯<app>/rel/<app>/releases/version/app.bat
:
已將""
添加到%start_erl%
:: Discover the release root directory from the directory of this script
@set script_dir=%~dp0
@for %%A in ("%script_dir%\..\..") do @(set release_root_dir=%%~fA)
@set start_erl=%release_root_dir%\releases\start_erl.data
@for /f "delims=" %%i in ('type "%start_erl%"') do
@(set start_erl_data=%%i)
已將""
添加到%werl%
:: Start a console
:console
@call :generate_config
@start "%rel_name% console" "%werl%" -config "%sys_config%" ^
-boot "%boot_script%" -boot_var ERTS_LIB_DIR "%erts_dir%"/lib ^
-env ERL_LIBS "%release_root_dir%"/lib ^
-pa "%release_root_dir%"/lib "%release_root_dir%"/lib/consolidated ^
-args_file "%vm_args%" ^
-user Elixir.IEx.CLI -extra --no-halt +iex
其他一些建議:
:observer.start()
來使用觀察者。在觀察者中,從菜單中選擇File-> External Crashdump。 這也可以幫助您找出問題所在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.