Ответ 1
Escripts поддерживают это в некоторой степени, но вам все еще нужен Erlang, установленный на вашем компьютере. См. Этот ответ для получения дополнительной информации: Формат портативного пакета Elixir или Hex?
Он видит, что у эликсира есть инструмент под названием elixirc
, а у erlang есть инструмент под названием erlc
to компилировать модули для использования. Он сразу же сообщает, что вы можете запустить код с помощью инструмента командной строки elixir
.
Есть ли способ скомпилировать бинарный исполняемый файл с elixir или erlang? (один из которых я могу chmod +x binary_name
, а затем запустить из того же каталога с ./binary_name
)
Escripts поддерживают это в некоторой степени, но вам все еще нужен Erlang, установленный на вашем компьютере. См. Этот ответ для получения дополнительной информации: Формат портативного пакета Elixir или Hex?
Вы можете использовать такие инструменты, как rebar, чтобы сгенерировать релиз, который также содержит ошибки, что позволяет запускать этот релиз на машине, где erlang не установлен. Но включенные ошибки соответствуют операционной системе, на которой был построен релиз, то есть бинарным файлам Windows, если они созданы на основе Windows.
Убедитесь, что вы заказываете ликеро-водочный завод. Он делает то, что вам нужно, без необходимости иметь дело с арматурой.
Добавьте это к своим зависимостям файла mix.exs, затем запустите mix release
.
defp deps do
[{:distillery, "~> 0.9"}]
end
Их документация великолепна:
Вы можете использовать встроенные версии Elixir начиная с Elixir 1.9. Это легкая альтернатива ликеро-водочному заводу.
Предостережения: Он не будет создавать ничего удаленно, как это делает Go с одним двоичным исполняемым файлом, который вы можете запустить практически где угодно. Также ваша цель должна соответствовать архитектуре процессора и ОС.
Чтобы создать релиз, выполните:
mix release
Подробнее читайте здесь:https://hexdocs.pm/mix/Mix.Tasks.Release.html