Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 构建Phoenix应用程序的exrm版本时的回溯_Elixir_Phoenix Framework_Exrm - Fatal编程技术网

Elixir 构建Phoenix应用程序的exrm版本时的回溯

Elixir 构建Phoenix应用程序的exrm版本时的回溯,elixir,phoenix-framework,exrm,Elixir,Phoenix Framework,Exrm,将我的Phoenix应用程序目录从Macbook复制到Fedora VM后,我尝试构建生产exrm版本,但引发了一个异常: ==> Building release with MIX_ENV=prod. ==> Generating relx configuration... ==> Generating sys.config... ==> Generating boot script... ==> Performing protocol consolidation

将我的Phoenix应用程序目录从Macbook复制到Fedora VM后,我尝试构建生产exrm版本,但引发了一个异常:

==> Building release with MIX_ENV=prod.
==> Generating relx configuration...
==> Generating sys.config...
==> Generating boot script...
==> Performing protocol consolidation...
==> Conform: Loading schema...
==> Conform: No schema found, conform will not be packaged in this release!
==> Generating release...
===> Missing beam file megaco_flex_scanner <<"/usr/lib64/erlang/lib/megaco-3.17.3/ebin/megaco_flex_scanner.beam">>
===> Missing beam file 'Elixir.Access' <<"/home/me/lartbot/rel/lartbot/lib/elixir-1.1.1/ebin/Elixir.Access.beam">>
===> Missing beam file error_handler <<"/home/me/lartbot/rel/lartbot/lib/kernel-4.1/ebin/error_handler.beam">>
===> Missing beam file erl_anno <<"/home/me/lartbot/rel/lartbot/lib/stdlib-2.6/ebin/erl_anno.beam">>
===> Missing beam file cow_cookie <<"/home/me/lartbot/rel/lartbot/lib/cowlib-1.0.2/ebin/cow_cookie.beam">>
===> Missing beam file cowboy_middleware <<"/home/me/lartbot/rel/lartbot/lib/cowboy-1.0.4/ebin/cowboy_middleware.beam">>
===> Missing beam file 'Elixir.Phoenix.HTML' <<"/home/me/lartbot/rel/lartbot/lib/phoenix_html-2.3.0/ebin/Elixir.Phoenix.HTML.beam">>
===> Missing beam file 'Elixir.Poison' <<"/home/me/lartbot/rel/lartbot/lib/poison-1.5.0/ebin/Elixir.Poison.beam">>
===> Missing beam file 'Elixir.Plug' <<"/home/me/lartbot/rel/lartbot/lib/plug-1.0.3/ebin/Elixir.Plug.beam">>
===> Missing beam file 'Elixir.Mix.Phoenix' <<"/home/me/lartbot/rel/lartbot/lib/phoenix-1.0.4/ebin/Elixir.Mix.Phoenix.beam">>

02:59:36.683 [error] Error in process <0.10938.0> with exit value: {{badmatch,{error,enoent}},[{rlx_prv_assembler,rewrite_app_file,2,[{file,"src/rlx_prv_assembler.erl"},{line,215}]},{lists,map,2,[{file,"lists.erl"},{line,1237}]},{ec_plists,'-local_runmany/3-fun-0-',3,[{file,"src/ec_plists.erl"},... 


** (exit) an exception was raised:
    ** (MatchError) no match of right hand side value: {:error, :enoent}
        src/rlx_prv_assembler.erl:215: :rlx_prv_assembler.rewrite_app_file/2
        (stdlib) lists.erl:1237: :lists.map/2
        src/ec_plists.erl:753: anonymous fn/3 in :ec_plists.local_runmany/3
    src/ec_plists.erl:900: :ec_plists.handle_error/3
    src/ec_plists.erl:764: :ec_plists.local_runmany/3
    src/rlx_prv_assembler.erl:152: :rlx_prv_assembler.copy_app_directories_to_output/3
    src/rlx_prv_assembler.erl:58: :rlx_prv_assembler.do/1
    src/relx.erl:286: :relx.run_provider/2
    (stdlib) lists.erl:1261: :lists.foldl/3
    src/relx.erl:266: :relx.run_providers/1
    lib/exrm/utils.ex:94: ReleaseManager.Utils.relx/5
==>带有MIX\u ENV=prod的建筑版本。
==>正在生成relx配置。。。
==>正在生成sys.config。。。
==>正在生成启动脚本。。。
==>正在执行协议整合。。。
==>符合:正在加载架构。。。
==>一致性:未找到架构,一致性将不打包在此版本中!
==>正在生成发布。。。
==>缺少光束文件megaco\u flex\u扫描仪
=>缺少beam文件“Elixir.Access”
==>缺少梁文件错误\u处理程序
==>缺少梁文件erl\U anno
==>缺少梁文件cow\u cookie
==>缺少梁文件牛仔\u
=>缺少beam文件“Elixir.Phoenix.HTML”
=>缺少束文件“Elixir.Poison”
=>缺少梁文件“Elixir.Plug”
=>缺少光束文件“Elixir.Mix.Phoenix”
02:59:36.683[error]进程中的错误和退出值:{{badmatch,{error,enoint},[{rlx_-prv_汇编程序,重写_-app_文件,2,[{file,“src/rlx_-prv_汇编程序.erl},{line,215}},{list,map,2,[{file,“list.erl},{line,1237},{ec"plists,'-local ru runmany/3-fun-0-},{line,215},{file,{list.pli},{,。。。
**(退出)引发了一个异常:
**(MatchError)右侧值不匹配:{:error,:enoint}
src/rlx_prv_assembler.erl:215::rlx_prv_assembler.rewrite_app_file/2
(stdlib)lists.erl:1237::lists.map/2
src/ec_plists.erl:753:匿名fn/3 in:ec_plists.local_runmany/3
src/ec_plists.erl:900::ec_plists.handle_error/3
src/ec_plists.erl:764::ec_plists.local_runmany/3
src/rlx_prv_assembler.erl:152::rlx_prv_assembler.copy_app_directories_to_output/3
src/rlx_prv_assembler.erl:58::rlx_prv_assembler.do/1
src/relx.erl:286::relx.run\u provider/2
(stdlib)lists.erl:1261::lists.foldl/3
src/relx.erl:266::relx.run\u providers/1
lib/exrm/utils.ex:94:ReleaseManager.utils.relx/5
我对Erlang、Elixir和Phoenix完全陌生,因此我对如何解决这一问题一无所知。

有人说,这是通过使用不同的Erlang安装来解决的。这对我来说不是一个好方法。因此,根据其他人的建议,我试着与他们一起运行

mix release --verbosity=verbose
这为我提供了更多信息,包括以下错误:

===> Provider (resolve_release) failed with: {error,
                                                {rlx_prv_release,
                                                 {failed_solve,
                                                  {unreachable_package,
                                                   phoenix_live_reload}}}}

因此,在我的例子中,phoenix_live_reload导致了问题。我将phoenix_live_reload从我的mix.exs的应用程序和deps函数中删除(无论如何,我不想将其包括在生产中)然后它成功地为我构建了发行版。

等我有时间再查看并报告。Gut告诉我这是正确的方向,因为我看到了一些其他错误,看起来它们与实时重新加载有关。我想我的服务器上的副本中可能有一些东西残留。我用核弹炸了SCP-d dir、 只使用rsync-d,而--exclude deps/--exclude rel/。然后在我的环境中设置MIX_ENV=prod并运行MIX do deps.get、compile,然后运行MIX release。该版本会生成,但我现在在运行该版本时遇到了一个更为不同的错误。干杯!