安裝

安裝 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 安裝程式 來安裝。

Raspberry Pi 和嵌入式裝置

若要建置並封裝 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 環境變數 中,以簡化開發流程。

鏡像和夜間版本

上述連結會直接指向 GitHub 發行版本。我們也會透過 repo.hex.pm 使用下列 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)的夜間版本,請使用

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

從原始碼編譯

您可以透過幾個步驟下載並編譯 Elixir。第一步是 安裝 Erlang。您也需要 make

接下來,您應該下載 .zip.tar.gz)的原始碼(最新版本),解壓縮,然後在解壓縮的目錄中執行 make(注意:如果您使用 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 二進位檔可能不會出現在您的 PATH 中,具體取決於您安裝 Erlang 的方式。請務必將 Erlang 二進位檔放在您的 PATH 中,否則 Elixir 無法運作!

設定 PATH 環境變數

強烈建議您將 Elixir 的 bin 路徑新增到 PATH 環境變數中,以簡化開發流程。

在 Windows 上,有 不同版本的說明 來解釋這個過程。

在 Unix 系統上,你需要 找到你的 shell 設定檔,然後在這個檔案的結尾加上以下一行,反映你的 Elixir 安裝路徑

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

發問問題

Elixir 啟動並執行後,在你學習和使用這門語言時,通常會有問題。有許多地方可以讓你發問,以下是其中一些

在發問問題時,請記住這兩個提示

  • 不要問「如何在 Elixir 中執行 X」,而是問「如何在 Elixir 中解決 Y」。換句話說,不要詢問如何實作特定的解決方案,而是描述手邊的問題。說明問題會提供更多背景資訊,並且較不容易偏離正確的答案。

  • 如果事情沒有按預期運作,請在你的報告中包含盡可能多的資訊,例如:你的 Elixir 版本、程式碼片段和錯誤訊息以及錯誤堆疊追蹤。

享受吧!

© 2012–2024 The Elixir Team。
Elixir 和 Elixir 商標是 The Elixir Team 的註冊商標