Подтвердить что ты не робот

Могут ли проекты elixir или erlang быть скомпилированы в автономный двоичный файл?

Он видит, что у эликсира есть инструмент под названием elixirc, а у erlang есть инструмент под названием erlc to компилировать модули для использования. Он сразу же сообщает, что вы можете запустить код с помощью инструмента командной строки elixir.

Есть ли способ скомпилировать бинарный исполняемый файл с elixir или erlang? (один из которых я могу chmod +x binary_name, а затем запустить из того же каталога с ./binary_name)

4b9b3361

Ответ 1

Escripts поддерживают это в некоторой степени, но вам все еще нужен Erlang, установленный на вашем компьютере. См. Этот ответ для получения дополнительной информации: Формат портативного пакета Elixir или Hex?

Ответ 2

Вы можете использовать такие инструменты, как rebar, чтобы сгенерировать релиз, который также содержит ошибки, что позволяет запускать этот релиз на машине, где erlang не установлен. Но включенные ошибки соответствуют операционной системе, на которой был построен релиз, то есть бинарным файлам Windows, если они созданы на основе Windows.

Ответ 3

Убедитесь, что вы заказываете ликеро-водочный завод. Он делает то, что вам нужно, без необходимости иметь дело с арматурой.

Добавьте это к своим зависимостям файла mix.exs, затем запустите mix release.

defp deps do
  [{:distillery, "~> 0.9"}]
end

Их документация великолепна:

Ответ 4

Вы можете использовать встроенные версии Elixir начиная с Elixir 1.9. Это легкая альтернатива ликеро-водочному заводу.

Предостережения: Он не будет создавать ничего удаленно, как это делает Go с одним двоичным исполняемым файлом, который вы можете запустить практически где угодно. Также ваша цель должна соответствовать архитектуре процессора и ОС.

Чтобы создать релиз, выполните:

mix release

Подробнее читайте здесь:https://hexdocs.pm/mix/Mix.Tasks.Release.html