包括来自Riak的Erlang客户端库中的氮气

时间:2010-11-19 05:58:08

标签: erlang nitrogen

我刚开始使用氮气的网络应用程序,一切进展顺利。但我也希望我的应用程序与我设置的riak数据库接口,我遇到了一些麻烦。

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

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

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

2 个答案:

答案 0 :(得分:3)

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

-include仅用于包含标题文件,例如记录定义或宏。

所有它都应该对你透明,因为钢筋(由basho构建系统)可以很好地处理它。

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

就是这样。

答案 1 :(得分:0)

这是一个简单的程序:

  1. 确保使用Basho的修补版Erlang。可以在Installing Basho Erlang/OTP找到相关说明。

  2. 然后按照Creating a Nitrogen project上的说明安装精简版。 请使用" slim-release"版本,以便您使用Basho的Erlang构建项目

  3. 从github中拉出riak-erlang-client。有关更多信息Check here或只是从../$MYPROJECT/lib目录执行此操作,其中$ MYPROJECT是您的氮项目名称。 git clone git://github.com/basho/riak-erlang-client.git。这将包括 lib 目录中的riak-erlang-client

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

  5. {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"}}}
    

    ]}。

    1. 从../$MYPROJECT使用make all重新编译您的项目。

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