安装

安装 Elixir 最快的方法是通过发行版或使用可用的安装程序。如果这些选项不可用,建议使用预编译包或自己编译语言。所有这些选项将在下文中详细说明。

请注意,Elixir v1.16 需要 Erlang 24.0 或更高版本。以下大多数说明将自动为您安装 Erlang。如果他们没有,那么“安装 Erlang”部分将为您提供帮助。

如果您不确定是否已安装 Elixir,可以在终端中运行 elixir --version

按操作系统

根据您的操作系统和选择的工具安装 Elixir。

macOS

  • 使用 Homebrew
    • 运行:brew install elixir
  • 使用 Macports
    • 运行:sudo port install elixir

请注意,版本管理器(如下所述)也适用于 macOS。

GNU/Linux

在 Unix 系统上,有两种安装 Elixir 的方法。您可以使用发行版中包含的 Erlang/Elixir 软件包,尽管这些软件包的版本号可能落后(尤其是对于 LTS 版本)。在这种情况下,您也可以选择使用版本管理器。

版本管理器

有许多工具允许开发人员安装和管理多个 Erlang 和 Elixir 版本。如果您有多个项目运行在不同的 Elixir 或 Erlang 版本上,无法按照上述方法安装 Erlang 或 Elixir,或者您的包管理器提供的版本已过时,那么它们非常有用。以下是一些这些工具

  • asdf - 安装和管理不同的 ElixirErlang 版本
  • kiex - 安装和管理不同的 Elixir 版本
  • kerl - 安装和管理不同的 Erlang 版本

请记住,每个 Elixir 版本都支持特定的 Erlang/OTP 版本。 查看我们的文档中支持的版本.

发行版

  • Alpine Linux(社区仓库)
    • 运行:apk add elixir
  • Arch Linux(社区仓库)
    • 运行:pacman -S elixir
  • Debian
    • 运行:sudo apt install erlang-dev elixir
  • Debian(和 Ubuntu)替代方法
    • 使用 RabbitMQ 软件包(可能不是最新版本,但可能比发行版更新)

      $ sudo add-apt-repository ppa:rabbitmq/rabbitmq-erlang
      $ sudo apt update
      $ sudo apt install elixir erlang-dev erlang-xmerl
      
  • Fedora 21(和更早版本)
    • 运行:yum install elixir
  • Fedora 22(和更新版本)
    • 运行 dnf install elixir erlang
  • Gentoo
    • 运行:emerge --ask dev-lang/elixir
  • GNU Guix
    • 运行:guix package -i elixir
  • openSUSE(和 SLES)
    • 添加 Elixir/Erlang 仓库:zypper ar -f obs://devel:languages:erlang/ Elixir-Factory
    • 运行:zypper in elixir
    • 可选:如果您想使用最新的 Erlang,可以使用此仓库:zypper ar -f obs://devel:languages:erlang:Factory Erlang-Factory
  • Slackware
    • 使用 Sbopkg
      • 运行:sbopkg -ki "erlang-otp elixir"
    • 手动
  • Solus
    • 运行:eopkg install elixir
  • Ubuntu
    • 运行:sudo apt install elixir
  • Void Linux
    • 运行:xbps-install -S elixir

BSD

  • FreeBSD
    • 最新的 Elixir 版本名为 lang/elixir-devel。默认的 Elixir,lang/elixir,可能会略微滞后,因为依赖端口通常无法立即更新到最新的 Elixir 版本。
    • 使用端口
      • 运行:cd /usr/ports/lang/elixir && make install clean
    • 使用 pkg
      • 运行:pkg install elixirpkg install elixir-devel
  • OpenBSD
    • 运行:pkg_add elixir

Windows

v1.15 之前的 Elixir 版本也可以使用已弃用的 在线 Elixir 安装程序 安装。

树莓派和嵌入式设备

要构建和打包 Elixir 应用程序,以及整个操作系统,并将它们刻录到磁盘或部署到任何地方,请查看 Nerves 项目.

如果您想将 Elixir 安装为现有操作系统的部分,请按照上面针对您的操作系统的相关步骤操作,或者从预编译/源代码安装。

Docker

如果您熟悉 Docker,可以使用官方的 Docker 镜像快速开始使用 Elixir。

  • 进入交互模式
    • 运行:docker run -it --rm elixir
  • 在安装了 elixir 的容器内进入 bash
    • 运行:docker run -it --rm elixir bash

以上操作将自动指向可用的最新 Erlang 和 Elixir。对于生产环境,建议使用 Hex.pm Docker 镜像,它们是不可变的,并指向特定的 Erlang 和 Elixir 版本。

预编译包

Elixir 为每个版本提供预编译包。首先 安装 Erlang,然后下载下面合适的预编译 Elixir。您可以通过运行 erl -s halt 来查询您的 Erlang/OTP 版本

下载版本后,解压缩它,您就可以从 bin 目录运行 elixiriex 命令。但是,建议您 将 Elixir 的 bin 路径添加到您的 PATH 环境变量 以便于开发。

镜像和 nightly 版本

上面的链接直接指向 GitHub 版本。我们还通过 repo.hex.pm 在全球范围内托管和镜像预编译包和 nightly 版本,使用以下 URL 方案

https://builds.hex.pm/builds/elixir/${ELIXIR_VERSION}-otp-${OTP_VERSION}.zip

例如,要使用 Erlang/OTP 24.x 的 Elixir v1.13.3,请使用

https://builds.hex.pm/builds/elixir/v1.13.3-otp-24.zip

要使用特定 Erlang/OTP 版本(例如 25)的 nightly 版本,请使用

https://builds.hex.pm/builds/elixir/main-otp-25.zip

从源代码编译

您可以通过几个步骤下载和编译 Elixir。首先是 安装 Erlang。您还需要 make 可用。

接下来,您应该下载 .zip.tar.gz最新版本 的源代码,解压缩它,然后在解压缩的目录中运行 make(注意:如果您在 Windows 上运行,请阅读此页面以了解如何在 Windows 上设置您的环境以编译 Elixir)。

编译完成后,您就可以从 bin 目录运行 elixir 和 iex 命令。建议您 将 Elixir 的 bin 路径添加到您的 PATH 环境变量 以便于开发。

如果您想尝试更冒险的操作,也可以从 main 分支编译

$ git clone https://github.com/elixir-lang/elixir.git
$ cd elixir
$ make clean compile

安装 Erlang

Elixir 的唯一先决条件是 Erlang,版本 24.0 或更高版本。安装 Elixir 时,通常会自动为您安装 Erlang。但是,如果您想手动安装 Erlang,可以查看

安装 Erlang 后,您应该能够打开命令行(或命令提示符)并通过键入 erl -s erlang halt 检查 Erlang 版本。您将看到一些类似于以下的信息

Erlang/OTP 24.0 [64-bit] [smp:2:2] [...]

请注意,根据您安装 Erlang 的方式,Erlang 二进制文件可能在您的 PATH 中不可用。请确保您的 PATH 中包含 Erlang 二进制文件,否则 Elixir 将无法工作!

设置 PATH 环境变量

强烈建议将 Elixir 的 bin 路径添加到您的 PATH 环境变量以方便开发。

在 Windows 上,有针对不同版本的说明 解释了该过程。

在 Unix 系统上,您需要 找到您的 shell 配置文件,然后在该文件的末尾添加以下反映您的 Elixir 安装路径的行

export PATH="$PATH:/path/to/elixir/bin"

提出问题

安装并运行 Elixir 后,您在学习和使用该语言时可能会遇到一些问题。您可以去许多地方提问,以下列出了一些地方

提问时,请记住以下两点

  • 不要问“如何在 Elixir 中做 X”,而是问“如何在 Elixir 中解决 Y”。换句话说,不要问如何实现某个特定解决方案,而是描述您遇到的问题。陈述问题可以提供更多上下文,减少对正确答案的偏见。

  • 如果遇到问题,请在报告中尽可能多地提供信息,例如:您的 Elixir 版本、代码片段以及错误消息和错误堆栈跟踪。

享受使用 Elixir 的乐趣!

© 2012–2024 Elixir 团队。
Elixir 和 Elixir 徽标是 Elixir 团队的注册商标