2012-05-02 3 views
0

을 생성 시작하고 내가 오류를내가 철근과 릴리스 응용 프로그램을 생성 할 때 철근과 릴리스 epgsql

{를 pgsql, { '로드 할 수 없습니다' "do_boot에 종료 초기화하기", GET_FILE이 키 콘솔을 시작하지 못했습니다 }}.

모든 파일에서 app.src 및 reltool.config 내가 epgsql 응용 프로그램을 추가했습니다.

app.src : 내가 모든 확인 ERL 쉘에서 시작,하지만 난 자료를 생성 할 때 오류가

{application, leasing, 
[ 
    {description, ""}, 
    {vsn, "1"}, 
    {registered, []}, 
    {applications, [ 
       kernel, 
       stdlib, 
       crypto, 
       ssl, 
       public_key, 
       epgsql, 
       amqp_client, 
       rabbit_common 
      ]}, 
{mod, { leasing_app, []}}, 
{env, []} 
]}. 

reltool.config

{sys, [ 
    {lib_dirs, ["../deps", "../apps"]}, 
    {erts, [{mod_cond, derived}, {app_file, strip}]}, 
    {app_file, strip}, 
    {rel, "leasingnode", "1", 
    [ 
    kernel, 
    stdlib, 
    sasl, 
    crypto, 
    ssl, 
    public_key, 
    epgsql, 
    amqp_client, 
    rabbit_common, 
    leasing 
    ]}, 
    {rel, "start_clean", "", 
    [ 
    kernel, 
    stdlib 
    ]}, 
    {boot_rel, "leasingnode"}, 
    {profile, embedded}, 
    {incl_cond, exclude}, 
    {excl_archive_filters, [".*"]}, %% Do not archive built libs 
    {excl_sys_filters, ["^bin/.*", "^erts.*/bin/(dialyzer|typer)", 
         "^erts.*/(doc|info|include|lib|man|src)"]}, 
    {excl_app_filters, ["\.gitignore"]}, 
    {app, sasl, [{incl_cond, include}]}, 
    {app, stdlib, [{incl_cond, include}]}, 
    {app, kernel, [{incl_cond, include}]}, 
    {app, crypto, [{incl_cond, include}]}, 
    {app, ssl, [{incl_cond, include}]}, 
    {app, public_key, [{incl_cond, include}]}, 
    {app, epgsql, [{incl_cond, include}]}, 
    {app, amqp_client, [{incl_cond, include}]}, 
    {app, rabbit_common, [{incl_cond, include}]}, 
    {app, leasing, [{incl_cond, include}]} 

    ]}. 

{target_dir, "leasingnode"}. 

{overlay, [ 
     {mkdir, "log/sasl"}, 
     {copy, "files/erl", "\{\{erts_vsn\}\}/bin/erl"}, 
     {copy, "files/nodetool", "\{\{erts_vsn\}\}/bin/nodetool"}, 
     {copy, "files/leasingnode", "bin/leasingnode"}, 
     {copy, "files/leasingnode.cmd", "bin/leasingnode.cmd"}, 
     {copy, "files/start_erl.cmd", "bin/start_erl.cmd"}, 
     {copy, "files/install_upgrade.escript", "bin/install_upgrade.escript"}, 
     {copy, "files/sys.config", "releases/\{\{rel_vsn\}\}/sys.config"}, 
     {copy, "files/vm.args", "releases/\{\{rel_vsn\}\}/vm.args"} 
     ]}. 

. 내가 epgsql 응용 프로그램을 시작 스위치를 끄고 모든 응용 프로그램 (crypto, ssl, public_key가로드 됨)을 볼 수 있지만 epgsql에 오류가 다시 추가되는 경우

무엇이 잘못 되었나요?

답변

1

나 자신도 같은 문제를 겪고있었습니다. Epgsql 종속성을 응용 프로그램 파일에 넣었지만 코드에서 해당 모듈을 사용하지 않아도 epgsql 응용 프로그램은 릴리스에 포함되어 있지 않습니다. 이것은 철근의 문제가 아니라는 것을 알게되었습니다. 후드 아래 rebar는 reltool을 사용합니다. 이것은 실제로 릴리즈를 생성하는 reltool이며 빔 파일의 일부 정보를 사용하고 응용 프로그램을 사용하지 않는 것으로 보입니다.

  • 을 :

    그래서 문제를 해결하기 위해 나는 두 가지 방법을 알아 냈어. 코드에서 epgsql의 모듈을 사용하십시오. pgsql : yyy() works :
  • b. reltool.config에 {app, epgsql, [{incl_cond, include}}}를 추가하십시오.

실제로 이는 일반적인 문제점이며 epgsql과 관련이 없습니다.