Почему 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!
Другие вопросы по тегам