Почему relx не генерирует релиз?
Моя конфигурация relx
{release,{socket,"0.1.0"}}.
{extend_start_script,true}.
Мой файл.app
{application,socket,
[{description,[]},
{vsn,"1"},
{registered,[]},
{applications,[kernel,stdlib,cowboy]},
{mod,{socket,[]}},
{env,[{http_port,8080}]},
{modules,[socket_app,socket_socket_handler,socket_sup]}]}.
После компиляции приложения с использованием rebar я запускаю relx из моего терминала, и вот вывод, который я получаю
===> Запуск процесса сборки relx...
==> Разрешение приложений OTP из каталогов:
/home/akshat/Desktop/socket/ebin /home/akshat/Desktop/socket/deps /usr/lib/erlang/lib
===> Отсутствует файл луча hipe << "/ usr / lib / erlang / lib / hipe-3.10.2 / ebin / hipe.beam" >>
==> Разрешение доступных выпусков OTP из каталогов:
/home/akshat/Desktop/socket/ebin /home/akshat/Desktop/socket/deps /usr/lib/erlang/lib
В системе не указано ни одного релиза!
Я не понимаю это сообщение от relx. Разве это не создает релиз для меня?
Как мне установить хипе?
Обновить
После новой установки erlang я больше не получаю сообщение об ошибке hipe. Но арматура по-прежнему говорит, что система не указала никаких выпусков.
2 ответа
Получил это работает. Переустановка erlang избавила от первой проблемы - сообщения об ошибке hipe. Что подразумевается под relx
Выпуски не были определены системой
является то, что я не указал приложение для сборки для выпуска. Насколько я понимаю, поскольку у меня было только одно приложение, мне не нужно было указывать его явно. Так что мой файл relx.config теперь выглядит так
{release,{socket,"0.1.0"},[socket]}.
{extend_start_script,true}.
Это работает, и теперь у меня есть релиз в моей папке _rel.
У меня была точно такая же проблема, пока я не вошел в каталог приложения и не выполнил команды rebar3 compile, rebar3 release. Это сработало идеально.
$ > ls
enter code here
chatx rebar3
$ > cd chatx/
$ > rebar3 compile
===> Verifying dependencies...
===> Compiling chatx
$ > rebar3 release
===> Verifying dependencies...
===> Compiling chatx
===> Starting relx build process ...
===> Resolving OTP Applications from directories:
/Users/studio/erlang/chatx/_build/default/lib
/Users/studio/erlang/chatx/apps
/Users/studio/kerl/20.2/lib
===> Resolved chatx-0.1.0
===> Dev mode enabled, release will be symlinked
===> release successfully created!