安裝 Elixir 環境
本文介紹幾種在電腦上安裝 Elixir / Erlang 環境的方法。
Mac
A. 使用 asdf (推薦)
asdf 是類 unix 作業系統上類似 rvm, rbenv 或 nvm 的語言版本管理套件。特別之處在於它可以安裝不同的 plugin 來管理多種不同的語言。
pre request
- homebrew
- git
Install
- 安裝 asdf 及 erlang 需要的元件
$ brew install \
coreutils automake autoconf openssl \
libyaml readline libxslt libtool unixodbc \
unzip curl wxmac
- 安裝 asdf
$ git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.7.2
- 將 asdf init script 加到 bashrc 中,若你用的是 zsh 及 fish 請參考官方說明。這步之後需要重啟 shell。
$ echo -e '\n. $HOME/.asdf/asdf.sh' >> ~/.bashrc
$ echo -e '\n. $HOME/.asdf/completions/asdf.bash' >> ~/.bashrc
- 安裝 asdf 的 elixir 及 erlang plugin
$ asdf plugin-add erlang
$ asdf plugin-add elixir
- 用 asdf 找到可用的 Erlang 版本並安裝。安裝 Erlang 需要很久,可以去聽個兩首歌再回來。
asdf list-all erlang
asdf install erlang 22.2.6
asdf global erlang 22.2.6
- 用 asdf 找到可用的 Elixir 版本並安裝。由於 Elixir 是預編譯版本,所以可以選擇用符合自己 Erlang 版本編譯的版本。
asdf list-all elixir
asdf install elixir 1.10.0-otp-22
asdf global elixir 1.10.0-otp-22
Postgresql 及 NodeJs
如果想試試 phoenix,那麼需要安裝 postgresql 及 nodejs 5.5 以上的版本。這裡一樣使用 asdf 來安裝 nodejs,若你的系統中已存在其它 nodejs 版本,可以省略後面兩步。
# 1. 安裝 postgresql
$ brew install postgresql
# 2. 安裝 asdf 的 nodejs plugin
$ brew install gpg
$ asdf plugin-add nodejs
$ bash ~/.asdf/plugins/nodejs/bin/import-release-team-keyring
# 3. 用 asdf 安裝 nodejs
$ asdf list-all nodejs
$ asdf install nodejs 12.4.0
$ asdf global nodejs 12.4.0
完工
試一下會不會動:
$ elixir -v
$ which erl
## 如果有裝 phoenix 的話
$ mix phx.new --version
B. 使用 homebrew
由於這個方法會跟著 homebrew upgrade 一起更新版本,所以比較適合下載來玩一下的情況。長時間的正式專案開發可能會遇到一些雷。
$ brew install erlang elixir
C. 使用 Docker
- 安裝 docker
$ brew cask install docker
- 拉官方 image。
$ docker pull elixir
- 跑起來試試看。按兩次
Ctrl+C
結束
$ docker run -it --rm elixir iex
- 執行本機上的 elixir 檔案
$ docker run -it --rm -v $(pwd):/tmp elixir elixir /tmp/my_elixir_file.ex
Ubuntu/Debian
A. 使用 asdf
- 安裝 asdf 及 erlang 需要的元件
$ apt-get -y install build-essential autoconf m4 \
libncurses5-dev libwxgtk3.0-dev libgl1-mesa-dev libglu1-mesa-dev \
libpng-dev libssh-dev unixodbc-dev
接著參考 Mac 的 2 ~ 6 步
CentOS 7
wget --no-verbose -P /tmp https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install -q -y /tmp/epel-release-latest-7.noarch.rpm
yum update -y -q
yum upgrade -y -q --enablerepo=epel
yum install -y -q wget curl unzip make git
yum install -y -q automake autoconf readline-devel ncurses-devel openssl-devel libyaml-devel libxslt-devel libffi-devel libtool unixODBC-devel
groupinstall -y 'Development Tools' 'C Development Tools and Libraries'
yum install -y -q wxGTK3-devel wxBase3 openssl-devel libxslt \
java-1.8.0-openjdk-devel libiodbc unixODBC erlang-odbc
yum install -y -q install gpg perl perl-Digest-SHA
接著參考 Mac 的 2 ~ 6 步
Windows
A. 使用 Linux Sub System (推薦)
參考微軟官方說明,安裝 Linux 子系統。若不知道要用什麼的話,那就選 Ubuntu 吧。
啟動 Linux 子系統後,照著 Ubuntu/Debian 小節操作。
B. 使用 scoop
參考 Scoop 官網說明
用系統管理者權限打開 powershell
貼上以下指令並按 [Enter] 執行
iwr -useb get.scoop.sh | iex
- 安裝 elixir
scoop install elixir
- 執行看看
iex.bat
C. 使用 chocolatey
參考 chocolatey 官網說明
用系統管理者權限打開 powershell
貼上以下指令並按 [Enter] 執行 (從官網 copy 會比較方便)
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
- 安裝 elixir
choco install elixir
- 執行看看
iex.bat
D. 使用 Docker
同 Mac -> C. 使用 Docker