我想将aerospike erlang客户端集成到erlang环境中,作为Fedora 21中的全局模块。 我实现了使客户端nif和模块,但我必须始终复制每个项目中的文件。 现在我想使用像erlang或os模块一样的aerospike模块。 我该怎么做?
答案 0 :(得分:0)
我在试验Aerospike绑定时遇到了同样的问题。问题是假定.so
文件位于当前工作目录中。我对aerospike.erl
进行了一些小改动,因此它的位置与路径无关。
替换
ok = erlang:load_nif("./aerospike_nif", 0).
init()
中的
与
EbinDir = filename:dirname(code:which(?MODULE)),
SoFile = filename:join(EbinDir,"aerospike_nif"),
erlang:load_nif(SoFile, 0).
启动erl
时,添加包含Aerospike光束文件和.so
的目录的路径:erl -pa path_to_aerospike/erlang/