包括Riak中的Erlang客户端库
我刚开始使用氮气开发一个网络应用,一切都很顺利。但我也希望我的应用程序与我设置的riak db接口,我遇到了一些问题 我对如何“包括”erlang客户机接口,以便我在氮气中的代码可以访问它感到困惑 (https://wiki.basho.com/display/RIAK/Erlang+客户+中国人民银行)包括Riak中的Erlang客户端库,erlang,nitrogen,Erlang,Nitrogen,我刚开始使用氮气开发一个网络应用,一切都很顺利。但我也希望我的应用程序与我设置的riak db接口,我遇到了一些问题 我对如何“包括”erlang客户机接口,以便我在氮气中的代码可以访问它感到困惑 (https://wiki.basho.com/display/RIAK/Erlang+客户+中国人民银行) 我不熟悉erlang和氮气,但我的意思是,一般来说,对于erlang,我如何包括其他库作为参考?我是否只是把编译好的beam文件扔到某个地方,然后在erlang代码的顶部有一个include行
我不熟悉erlang和氮气,但我的意思是,一般来说,对于erlang,我如何包括其他库作为参考?我是否只是把编译好的beam文件扔到某个地方,然后在erlang代码的顶部有一个include行?如果是这样的话,我应该把这些文件放在哪里(我认为它有自己独立的erlang节点实例)如果你在一个节点上运行所有东西,只需调用你需要的。如果节点是使用Erlang/OPT发布处理规则构建的,则意味着所有需要的库都加载到VM中 -include仅用于包含带有记录定义或宏的头文件 所有这些对您来说都应该是透明的,因为rebar(basho构建系统)处理得非常好 要使用某些库,请确保它位于正确的钢筋配置(deps部分)的deps目录中。下一件事是修改rel/文件中的systools.config,该文件配置节点(从deps/获取要包含在运行系统中的应用程序)
仅此而已。这是一个简单的过程:
nano../$MYPROJECT/rebar.config
,以包含riak erlang客户端依赖项。**在下面的代码块**中查找riakc dep,在这个项目中,我使用了make slim\u 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"}}}
]}
makeall
重新编译您的项目/bin/nitron console
启动氮气。尝试通过{ok,Pid}=riakc_pb_socket:start_link(“127.0.0.1”),连接到您的一个riak节点。
然后您就可以开始了太棒了,你说得对。我将它安装在氮气使用的节点上(与我的计算机上已经安装的erlang节点相反),现在一切正常。谢谢我想知道你是否可以通过帮助回答这个问题来继续这个想法,在步骤3中,在客户端的根目录中包括一个文件non.plugin,即,
touch../$MYPROJECT/lib/riak erlang client/non.plugin
。这将使您能够使用氮气的do-plugins.enscript包含此插件,而不会产生任何副作用。