0

我想将 aerospike erlang 客户端作为 Fedora 21 中的全局模块集成到 erlang 环境中。我实现了制作客户端 nif 和模块,但我必须始终复制每个项目中的文件。现在我想使用 aerospike 模块,如 erlang 或 os 模块。我怎样才能做到这一点?

4

1 回答 1

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 光束文件的目录,然后.soerl -pa path_to_aerospike/erlang/

于 2015-05-07T22:12:39.487 回答