我正在寻找有关如何在Windows上部署和运行elixir / phoenix程序的建议。
我已经使用过Distillery,但它使用了mix release
,但是没有可用于命令提示符的命令。每个建议的命令,如
_build/dev.../<program> console
产生错误not a recognized internal or external command
。
我也使用了exrm
,但是,即使修改了.bat
文件以删除路径中不需要的//
,它也会产生kernel PID terminated
erlang转储文件中的错误。
VERSION:
.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&#39;
感谢您的帮助,感谢道歉,因为这是我第一次做这一部分。
注意:带有exrm
程序的Windows 10正常运行mix phoenix.server
有没有人一步一步地在Windows上启动elixir程序或服务?
修改:在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
答案 0 :(得分:1)
还有一些建议:
:observer.start()
来使用观察者,从菜单中选择File-&gt; Examine Crashdump。这可以帮助您找出问题所在。