1-簡介
======
歡迎!
>本章是主要講了各個平臺上如何安裝使用Elixir。由于本文主要關注Elixir的語言學習,
因此這個章節所講的步驟或工具可能不是最新,請大家自行網上搜索。
本章將涵蓋如何安裝Elixir,并且學習使用交互式的Elixir Shell(稱為IEx)。
使用本教程的需求:
- Erlang - version 17.0 或更高
- Elixir - 1.0.0 或更高
現在開始吧!
>如果你發現本手冊有錯誤,請幫忙開_issue_討論或發_pull request_。
## 1.1-安裝包
在各個平臺上最方便的安裝方式是相應平臺的安裝包。
如果沒有,推薦使用precompiled package或者用源碼編譯安裝。
注意Elixir需要Erlang 17.0或更高。下面介紹的方法基本上都會自動為你安裝Erlang。
假如沒有,請閱讀下面安裝Erlang的說明。
### Mac OS X
- Homebrew
- 升級Homebrew到最新
- 執行:```brew install elixir```
- Macports
- 執行:```sudo port install elixir```
### Unix(或者類Unix)
- Fedora 17或更新
- 執行:```yum install elixir```
- Fedora 22或更新
- 執行:```dnf install elixir```
- Arch Linux (社區repo)
- 執行:```pacman -S elixir```
- openSUSE (and SLES 11 SP3+)
- 添加Erlang devel repo: ```zypper ar -f obs://devel:languages:erlang/ erlang```
- 執行:```zypper in elixir```
- Gentoo
- 執行:```emerge --ask dev-lang/elixir```
- FreeBSD
- 使用ports: ```cd /usr/ports/lang/elixir && make install clean```
- 或使用pkg: ```pkg install elixir```
- Ubuntu 12.04和14.04,或Debian 7
- 添加Erlang Solutions repo: ```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```
- 安裝Erlang/OTP平臺及相關程序:```sudo apt-get install esl-erlang```
- 安裝Elixir:```sudo apt-get install elixir```
### Windows
- Web installer
- [下載installer](https://s3.amazonaws.com/s3.hex.pm/elixir-websetup.exe)
- 點下一步,下一步...直到完成
- Chocolatey
- ```cinst elixir ```
## 1.3-使用預編譯包
Elixir為每一個release提供了預編譯包(編譯好并打包的程序,開箱即用)。
首先[安裝Erlang](http://elixir-lang.org/install.html#installing-erlang),
然后在[這里](https://github.com/elixir-lang/elixir/releases/)下載最新的
預編譯包(Precompiled.zip)。unzip,即可使用elixir程序和iex程序了。
當然為了方便起見,需要將一些路徑加入環境變量。
## 1.4-從源碼編譯安裝(Unix和MinGW)
首先[安裝Erlang](http://elixir-lang.org/install.html#installing-erlang),
然后在[這里](https://github.com/elixir-lang/elixir/releases/)下載最新的源碼,
自己使用make工具編譯安裝。
>在Windows上編譯安裝請參考https://github.com/elixir-lang/elixir/wiki/Windows
>附上加環境變量的命令
```sh
$ export PATH="$PATH:/path/to/elixir/bin"
```
如果你十分激進,可以直接選擇編譯安裝github上的master分支:
```sh
$ git clone https://github.com/elixir-lang/elixir.git
$ cd elixir
$ make clean test
```
如果測試無法通過,可在[repo](https://github.com/elixir-lang/elixir)里開issue匯報。
## 1.5-安裝Erlang
安裝Elixir唯一的要求就是Erlang(V17.0+),
它可以很容易地使用
[預編譯包](https://www.erlang-solutions.com/downloads/download-erlang-otp)安裝。
如果你想從源碼安裝,可以去[Erlang網站](http://www.erlang.org/download.html)找找,
參考[Riak文檔](http://docs.basho.com/riak/1.3.0/tutorials/installation/Installing-Erlang/)。
安裝好Erlang后,打開命令行(或命令窗口),輸入```erl```,可以輸出Erlang的版本信息:
```
Erlang/OTP 17 (erts-6) [64-bit] [smp:2:2] [async-threads:0] [hipe] [kernel-poll:false]
```
>安裝好Erlang后,你需要手動添加環境變量或$PATH。
關于環境變量,參考[這里](http://en.wikipedia.org/wiki/Environment_variable)。
## 1.6-交互模式
安裝好Elixir之后,你有了三個可執行文件:```iex```,```elixir```和```elixirc```。
如果你是用預編譯包方式安裝的,可以在解壓后的bin目錄下找到它們。
現在我們可以從```iex```開始了(或者是```iex.bat```,如果在Windows上)。
交互模式,就是可以向其中輸入任何Elixir表達式或命令,然后直接看到表達式或命令的結果。
如以下所示:
```elixir
Interactive Elixir - press Ctrl+C to exit (type h() ENTER for help)
iex> 40 + 2
42
iex> "hello" <> " world"
"hello world"
```
對這種交互式命令行,相信熟悉ruby,python等動態語言的程序員一定不會陌生。
>如果你用的是Windows,你可以使用```iex.bat --werl```,可以根據你的console獲得更好的使用體驗。
## 1.7-執行腳本
把表達式寫進腳本文件,可以用```elixir```命令執行它。如:
```sh
$ cat simple.exs
IO.puts "Hello world
from Elixir"
$ elixir simple.exs
Hello world
from Elixir
```
在以后的章節中,我們還會介紹如何編譯Elixir程序,以及使用Mix這樣的構建工具。