如何在服务器上正确安装 Erlang、Elixir 和 mix?

Posted

技术标签:

【中文标题】如何在服务器上正确安装 Erlang、Elixir 和 mix?【英文标题】:How to properly install Erlang, Elixir and mix on a server? 【发布时间】:2016-12-28 09:39:46 【问题描述】:

为了部署 Elixir/Phoenix 应用程序,我需要在服务器上安装 Erlang、Elixir 和 mix,对吗?我还没有找到任何直接的方法来做到这一点,尤其是最新版本。我该怎么做?在 Ubuntu 或 CentOS 中。

【问题讨论】:

【参考方案1】:

你做过研究吗?

wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i erlang-solutions_1.0_all.deb
sudo apt-get update
sudo apt-get install esl-erlang
sudo apt-get install elixir

【讨论】:

你也可以从源代码编译 Erlang/OTP 然后 Elixir。见github.com/erlang/otp/blob/maint/HOWTO/INSTALL.md 和github.com/elixir-lang/elixir。【参考方案2】:

我通常不喜欢上面的方法——对于 Elixir,我们使用一种叫做 Distillery 的东西来创建一个版本,然后我们将这个版本打包成一个 RPM。

当您这样做时,重要的是您构建 RPM 时使用的 erlang 版本,erts 与您的 RPM 打包在一起,您无需直接在服务器上安装它。一个“独立”版本。

我们这样做是为了不受 RedHat 等发行版维护者认为“最新”的软件包的限制。我们所做的就是使用正确版本的 erlang/elixir 更新我们的 docker RPM 构建器,然后使用 distillery 进行重建。

编辑:

忘了在这里给你一个酿酒厂的链接:https://github.com/bitwalker/distillery

【讨论】:

使用酿酒厂要好得多;与将整个 Erlang/Elixir 开发堆栈部署到服务器相比,二进制文件占用空间更小,而且更安全。

以上是关于如何在服务器上正确安装 Erlang、Elixir 和 mix?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Elixir或Erlang中在运行时动态创建和加载模块?

Elixir/Erlang 并发状态访问

Elixir IEX在显示提示之前停止,并且不接受输入

Erlang/Elixir精选-第2期(20191209)

Elixir Enum vs Erlang列表

如何在 erlang 或 elixir 中接收可能值列表