我刚开始使用氮气的网络应用程序,一切进展顺利。但我也希望我的应用程序与我设置的riak数据库接口,我遇到了一些麻烦。
我对如何“包含”erlang客户端界面感到困惑,以便我的氮代码可以访问它。
(https://wiki.basho.com/display/RIAK/Erlang+Client+PBC)
我是erlang和氮的新手,但我的意思是一般来说,对于erlang,我如何将其他库作为参考?我只是把编译好的光束文件扔到某个地方,然后在我的erlang代码的顶部有一个-include行吗?如果是这样,我在哪里做这些文件的氮(它有自己独立的erlang节点实例)
答案 0 :(得分:3)
如果您在一个节点上运行所有内容,只需调用您需要的内容即可。如果使用Erlang / OPT版本处理规则构建节点,则意味着将所有需要的库加载到VM。
-include仅用于包含标题文件,例如记录定义或宏。
所有它都应该对你透明,因为钢筋(由basho构建系统)可以很好地处理它。
要使用某些lib,请确保它是在deps目录中,因为正确的rebar配置(deps部分)。接下来是修改配置节点的rel / files中的systools.config(从deps中获取应用程序/将包含在正在运行的系统中)。
就是这样。
答案 1 :(得分:0)
这是一个简单的程序:
确保使用Basho的修补版Erlang。可以在Installing Basho Erlang/OTP找到相关说明。
然后按照Creating a Nitrogen project上的说明安装精简版。 请使用" slim-release"版本,以便您使用Basho的Erlang构建项目
从github中拉出riak-erlang-client。有关更多信息Check here或只是从../$MYPROJECT/lib目录执行此操作,其中$ MYPROJECT是您的氮项目名称。 git clone git://github.com/basho/riak-erlang-client.git
。这将包括 lib 目录中的riak-erlang-client
通过执行此nano ../$MYPROJECT/rebar.config
编辑rebar.config文件以包含riak-erlang-client依赖项。 **在下面的代码块中查找riakc dep **,在这个项目中我使用了make slim_cowboy
{deps,[
{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"}}}
]}。
从../$MYPROJECT使用make all
重新编译您的项目。
在此步骤结束时,只需./bin/nitrogen console
启动氮气。尝试通过{ok, Pid} = riakc_pb_socket:start_link("127.0.0.1", <PORT>).
连接到您的某个riak节点然后您就可以开始了。