gpt4 book ai didi

erlang - OTP - 添加 Couchbeam 作为依赖项 - ** 异常错误 : undefined function jsx:decode/1

转载 作者:行者123 更新时间:2023-12-02 01:43:36 25 4
gpt4 key购买 nike

我正在使用 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

最佳答案

我的建议是 couchbeam 不包括 jsx作为应用程序级别的分支(在 .app.src 文件中),因为它可以与不同的 json 编码器一起使用(实际上仅与 jsxjiffy 一起使用)。所以,你应该自己决定到底使用哪一个。

由于 couchbeam 和您的应用程序都没有提供有关此依赖的任何信息,relx不包括 jsx在释放。

坦白,我没有尝试,但我认为你的解决方案是定义 jsx作为您自己应用程序的依赖项(即,将其添加到您自己的 .app.src 文件而不是 couchbeam.app.src )。

关于erlang - OTP - 添加 Couchbeam 作为依赖项 - ** 异常错误 : undefined function jsx:decode/1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27030783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com