3

我刚开始使用氮气的网络应用程序,一切都很顺利。但我也希望我的应用程序能够与我设置的 riak db 交互,但我遇到了一些麻烦。

我对如何“包含”erlang客户端接口感到困惑,以便我在氮气中的代码可以访问它。

(https://wiki.basho.com/display/RIAK/Erlang+Client+PBC)

我是 erlang 和氮气的新手,但我的意思是一般来说,对于 erlang,我如何将其他库作为参考?我只是把编译好的梁文件扔到某个地方,然后在我的erlang代码顶部有一个-include行吗?如果是这样,我该把这些文件扔到哪里去换氮(我认为它有自己独立的 erlang 节点实例)

4

2 回答 2

3

如果您在一个节点上运行所有内容,只需调用您需要的内容。如果节点是使用 Erlang/OPT 发布处理规则构建的,则意味着所有需要的库都已加载到 VM。

-include 仅用于包含带有记录定义或宏的头文件。

所有这些对你来说都应该是透明的,因为 rebar(由 basho 构建系统)可以很好地处理它。

要使用一些 lib,请确保它位于 deps 目录中,因为正确的 rebar 配置(deps 部分)。接下来是修改 rel/files 中配置节点的 systools.config(从 deps/ 中提取应用程序以包含在正在运行的系统中)。

就这样。

于 2010-11-19T13:21:27.107 回答
0

这是一个简单的过程:

  1. 确保使用 Basho 的 Erlang 补丁版本。在安装 Basho Erlang/OTP中可以找到执行此操作的说明。

  2. 然后按照创建 Nitrogen 项目中的说明安装精简版。请使用“slim-release”版本,以便您使用 Basho 的 Erlang 构建项目

  3. 从 github 拉取 riak-erlang-client。有关更多信息,请查看此处或直接从 ../$MYPROJECT/lib 目录执行此操作,其中 $MYPROJECT 是您的氮气项目名称。git clone git://github.com/basho/riak-erlang-client.git. 这将在lib目录中包含 riak-erlang-client

  4. 通过执行此操作编辑 rebar.config 文件nano ../$MYPROJECT/rebar.config以包含 riak-erlang-client 依赖项。** 在下面的代码块中查找 riakc dep **,在这个项目中我使用make slim_cowboy

{部门,[

  {cowboy,        ".*",   {git, "git://github.com/ninenines/cowboy",         {tag,     "1.0.0"}}},
%% Uncomment the following lines and comment the bottom lines with specific
%% tags to always pull the latest versions
{simple_bridge, ".*",   {git, "git://github.com/nitrogen/simple_bridge",{branch, master}}},
{nprocreg,      ".*",   {git, "git://github.com/nitrogen/nprocreg",     {branch, master}}},
{nitrogen_core, ".*",   {git, "git://github.com/nitrogen/nitrogen_core",{branch, master}}},

%% The riak-erlang-client dep starts
{riakc,         "1.4.1",    {git, "git://github.com/basho/riak-erlang-client", {tag, "1.4.1"}}},
%% The riak-erlang-client dep ends

{sync,          ".*",   {git, "git://github.com/rustyio/sync",          {branch, master}}}

%% Get specific tagged version
%{simple_bridge, ".*",   {git, "git://github.com/nitrogen/simple_bridge",{tag, "v2.0.0-beta5"}}},
%{nprocreg,      ".*",   {git, "git://github.com/nitrogen/nprocreg",     {tag, "v0.2.1"}}},
%{nitrogen_core, ".*",   {git, "git://github.com/nitrogen/nitrogen_core",{tag, "v2.3.0-beta6"}}},
%{sync,          ".*",   {git, "git://github.com/rustyio/sync",          {tag, "4dbe32bb4"}}}

]}。

  1. 从 ../$MYPROJECT 使用make all.

  2. 在这一步结束时,只需启动氮气./bin/nitrogen console。尝试连接到您的 riak 节点之一,{ok, Pid} = riakc_pb_socket:start_link("127.0.0.1", <PORT>).然后您就可以开始了。

于 2014-12-21T01:28:38.707 回答