2016-07-28 123 views
1

設置使用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運行1.2.2藥劑和OTP 18.2.1

難道這是與一個問題安裝OTP?

編輯

缺少從應用程序列表中exrm mix.exs。增加了它有現在這樣的錯誤:

===> 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." 
+0

當我有這樣的問題,它與庫的版本有關。檢查您的機器和CI機器上的版本是否相同。 – Migore

+0

@migore我該如何檢查? mix.lock文件沒有改變,所以我想無論它在哪裏運行,一切都應該保持不變。它也通過了所有的測試,所以我想它會拖垮正確的庫。 – ascrookes

回答

0

我是在釋放拉動(rel)目錄部署之前,新版本增加。該目錄未正確格式化,因此當exrm去添加新版本時,它無法找到它正在查找和崩潰的內容。 如果您遇到此問題,請嘗試從新的rel目錄開始,查看是否可以解決問題。