在 erlang 环境中将 aerospike 客户端集成为全局模块
Integrate aerospike client in erlang environment as global module
我想将 aerospike erlang 客户端作为 Fedora 21 中的全局模块集成到 erlang 环境中。
我实现了制作客户端 nif 和模块,但我必须始终在每个项目中复制文件。
现在我想像 erlang 或 os 模块一样使用 aerospike 模块。
我该怎么做?
我在试验 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/
我想将 aerospike erlang 客户端作为 Fedora 21 中的全局模块集成到 erlang 环境中。 我实现了制作客户端 nif 和模块,但我必须始终在每个项目中复制文件。 现在我想像 erlang 或 os 模块一样使用 aerospike 模块。 我该怎么做?
我在试验 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/