Назад | Перейти на главную страницу

Как добавить новый модуль к работающему узлу ejabberd?

Я следил за этим руководством https://blog.process-one.net/elixir-sips-ejabberd-with-elixir-part-1/ как написать модуль ejabberd. И это прекрасно работает, я помещаю модуль в ejabberd / src, а затем все компилирую.

Но мне кажется, что это очень много работы. Каждый раз, когда я меняю одну строчку кода во время разработки, мне приходится заново компилировать ejabberd с нуля с новым измененным модулем. Есть ли способ скомпилировать модуль, а затем просто скопировать его в путь модулей ejabberd?

Если да, то где путь к модулям ejabberd? И если да, то какой урок мне следует прочитать?

Пример использования: отредактируйте src / mod_echo.erl, чтобы добавить соответствующие изменения. И сейчас:

$ make
Compiled src/mod_echo.erl
$ sudo make install
...
$ ejabberdctl update_list
mod_echo
$ ejabberdctl update mod_echo

С этого момента новый код работает в ejabberd.

В вашем случае вы копируете исходные файлы модуля в исходный путь ejabberd и компилируете их, как если бы они были другими модулями ejabberd. Или вы можете скомпилировать их отдельно и установить файлы * .beam вместе со всеми остальными файлами ejabberd beam (расположение зависит от вашей системы).