如何向 CouchDB 添加插件
How to add a plugin to CouchDB
我需要为 CouchDB 安装插件。问题是我在服务器上唯一可以访问的文件夹是用户主目录。
设置 ERL_LIBS 环境变量后,我可以从 erl 控制台调用我的插件模块,但是 CouchDB returns '{"error":"unknown_error","reason":"undef"}'.
在 CouchDB 启动时包含外部库的正确方法是什么?
我设法使用 couchdb shell 添加了一个 erlang 模块。这是我所做的:
- 我以交互模式启动了 couchdb
sudo couchdb -i
- 将路径添加到列表的开头
code:add_patha("/home/akshat/Desktop").
- 用
code:get_path().
测试了路径列表
- 第一项找到我的路径
- 使用
c("/home/akshat/Desktop/test").
编译模块
- 加载模块
code:load_file(test).
- 调用了模块
test:test()
要测试模块是否在启动时由 couchdb 自动加载,您可以重新启动 couchdb 并调用模块内的函数,而无需执行上述步骤。它应该按预期工作。
这是我用于测试目的的模块
-module(test).
-export([test/0]).
test()->
hello.
我认为您所做的问题可能是您没有使用 couchdb shell 添加模块。
我需要为 CouchDB 安装插件。问题是我在服务器上唯一可以访问的文件夹是用户主目录。 设置 ERL_LIBS 环境变量后,我可以从 erl 控制台调用我的插件模块,但是 CouchDB returns '{"error":"unknown_error","reason":"undef"}'.
在 CouchDB 启动时包含外部库的正确方法是什么?
我设法使用 couchdb shell 添加了一个 erlang 模块。这是我所做的:
- 我以交互模式启动了 couchdb
sudo couchdb -i
- 将路径添加到列表的开头
code:add_patha("/home/akshat/Desktop").
- 用
code:get_path().
测试了路径列表
- 第一项找到我的路径
- 使用
c("/home/akshat/Desktop/test").
编译模块
- 加载模块
code:load_file(test).
- 调用了模块
test:test()
要测试模块是否在启动时由 couchdb 自动加载,您可以重新启动 couchdb 并调用模块内的函数,而无需执行上述步骤。它应该按预期工作。
这是我用于测试目的的模块
-module(test).
-export([test/0]).
test()->
hello.
我认为您所做的问题可能是您没有使用 couchdb shell 添加模块。