#elixir
#elixir
Вопрос:
Существует ли какой-либо переносимый формат для кода elixir? Кроме очевидного tar.
Например, если бы я хотел предоставить один или несколько модулей клиенту или коллегам-разработчикам из другой команды (без использования github). Как бы я это сделал?
Ответ на некоторых других знакомых языках: Ruby — gem, Java — jar, Python — egg и т. Д.
Ответ №1:
Это зависит от того, что вы хотите предоставить.
Ниже я рассмотрю три варианта, все они доступны через наш инструмент сборки под названием Mix.
-
Исходные файлы Hex пакетов. Если вы хотите предоставить код для использования другими разработчиками в своих проектах, Hex — лучший вариант, потому что он также знает, как извлекать и разрешать зависимости. Позвоните,
mix local.hex
чтобы установить его, а затемmix local
чтобы увидеть все доступные шестнадцатеричные задачи; -
Escript позволяет объединить весь ваш проект (включая зависимости) в исполняемый файл, который можно вызвать из командной строки. Для работы escripts вам необходимо установить Erlang, однако вам не нужно устанавливать Elixir. Обратите внимание, что Escript не может использоваться в качестве зависимости другими проектами.
-
Архивы — это, по сути, tar скомпилированных артефактов, которые среда выполнения Erlang знает, как загружать. Архивы не содержат зависимостей, и в Elixir они используются только как плагины для инструмента сборки Mix. Например, приведенный выше Hex устанавливается в виде архива внутри Mix.
Комментарии:
1. Doe Hex развертывает целые приложения? Или это работает только с библиотеками?
2. Нет, Hex — это менеджер пакетов. Он упаковывает исходные тексты, а не скомпилированный код. Его нельзя использовать для развертывания. Ссылки были обновлены.