mix release崩溃异常

时间:2016-07-28 18:19:36

标签: erlang elixir travis-ci exrm

设置使用Travis CI的新构建/发布流程。当我尝试在测试通过后创建发布时,我正在崩溃。

命令:

mix release --verbosity=verbose

错误:

===> Provider successfully run: resolve_release
===> Running provider release
** (exit) an exception was raised:
    ** (MatchError) no match of right hand side value: {:error, :enoent}
        src/rlx_prv_assembler.erl:224: :rlx_prv_assembler.rewrite_app_file/2
        (stdlib) lists.erl:1238: :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:161: :rlx_prv_assembler.copy_app_directories_to_output/3
    src/rlx_prv_assembler.erl:59: :rlx_prv_assembler.do/1
    src/relx.erl:308: :relx.run_provider/2
    (stdlib) lists.erl:1262: :lists.foldl/3
    src/relx.erl:291: :relx.run_providers_for_actions/2
    lib/exrm/utils.ex:103: ReleaseManager.Utils.relx/5
18:03:06.402 [error] Process #PID<0.13561.0> raised an exception
** (MatchError) no match of right hand side value: {:error, :enoent}
    src/rlx_prv_assembler.erl:224: :rlx_prv_assembler.rewrite_app_file/2
    (stdlib) lists.erl:1238: :lists.map/2
    src/ec_plists.erl:753: anonymous fn/3 in :ec_plists.local_runmany/3    ===> Provider successfully run: resolve_release
===> Running provider release
** (exit) an exception was raised:
    ** (MatchError) no match of right hand side value: {:error, :enoent}
        src/rlx_prv_assembler.erl:224: :rlx_prv_assembler.rewrite_app_file/2
        (stdlib) lists.erl:1238: :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:161: :rlx_prv_assembler.copy_app_directories_to_output/3
    src/rlx_prv_assembler.erl:59: :rlx_prv_assembler.do/1
    src/relx.erl:308: :relx.run_provider/2
    (stdlib) lists.erl:1262: :lists.foldl/3
    src/relx.erl:291: :relx.run_providers_for_actions/2
    lib/exrm/utils.ex:103: ReleaseManager.Utils.relx/5
18:03:06.402 [error] Process #PID<0.13561.0> raised an exception
** (MatchError) no match of right hand side value: {:error, :enoent}
    src/rlx_prv_assembler.erl:224: :rlx_prv_assembler.rewrite_app_file/2
    (stdlib) lists.erl:1238: :lists.map/2
    src/ec_plists.erl:753: anonymous fn/3 in :ec_plists.local_runmany/3

这是在Ubuntu 12.02上运行Elixir 1.2.2和OTP 18.2.1

这可能是安装OTP的问题吗?

修改

mix.exs中的应用程序列表中缺少exrm。在那里添加它,现在这是错误:

===> Provider successfully run: app_discover
===> Running provider resolve_release
===> Solving Release cymbal-0.0.1
===> Provider (resolve_release) failed with: {error,
                                                 {rlx_prv_release,
                                                  {failed_solve,
                                                   {unreachable_package,
                                                    ssl_verify_fun}}}}
==> ERROR: "Unable to find application ssl_verify_fun. See the debug output for more information."

1 个答案:

答案 0 :(得分:0)

我正在使用一个版本(rel)目录来在部署之前添加新版本。该目录格式不正确所以当exrm去添加新版本时,它找不到它正在寻找和崩溃的内容。 如果您遇到此问题,请尝试从新的rel目录开始,看看是否能解决问题。