私は rebar を使用して、次のような依存関係を取得/コンパイルしていますrebar.conf
:
{deps, [
...
{couchbeam, ".*", {git, "git://github.com/benoitc/couchbeam.git", {branch, "master"}}}
]}.
次に、relx を使用してリリースを生成します。relx.config には次のものがあります。
{release, {myapp, "0.0.1"}, [myapp, couchbeam]}.
{extended_start_script, true}.
myapp.app.src:
{application, myapp,
[
{description, ""},
{vsn, "1"},
{registered, []},
{applications, [
kernel,
stdlib,
... ,
couchbeam
]},
{mod, { myapp_app, []}},
{env, []}
]}.
couchdb を開始したら、コンソールでリリースを実行し、次の行で couchbeam をテストしようとします。
Host = "localhost",
Port = 5984,
Prefix = "",
Options = [],
S = couchbeam:server_connection(Host, Port, Prefix, Options).
{ok, _Version} = couchbeam:server_info(S).
最後の行でエラーが表示されます:
** exception error: undefined function jsx:decode/1
これを解決するために、私は開いdeps/couchbeam/couchbeam.app.src
て変更しました:
{applications, [kernel,
stdlib,
asn1,
crypto,
public_key,
ssl,
idna,
hackney
]},
そしてjsxを追加しました:
{applications, [kernel,
stdlib,
asn1,
crypto,
public_key,
ssl,
idna,
hackney,
jsx
]},
依存関係としてcouchbeamを追加した方法のセットアップに何か問題がありますか? 依存関係の .app.src をハックするべきではないように感じます