iT邦幫忙

2022 iThome 鐵人賽

DAY 2
0
Modern Web

速成 Phoenix, 2022年最受喜愛框架系列 第 2

{02, Elixir, "最難的是安裝環境"}

  • 分享至 

  • xImage
  •  

Elixir 開發者比較常用 asdf-vm 這套版本管理工具來管理 elixir 版本,畢竟多人用,所以比較不會遇到雷,在這篇的終端機指令主要是 bash(zsh),所以可以直接在 mac 或 ubuntu 的終端機執行,使用 Windows 的朋友我建議使用微軟推出的 ubuntu 子系統,(設定 WSL 開發環境)。

給對終端機指令沒有信心的朋友:

這些終端機工具,儘管執行的時候都會一直印出現在還看不太懂的指令,但現在大部分的工具都很貼心的會在結尾列出錯誤的部分,或是下一個步驟要做什麼,噴出紅字的錯誤先冷靜地讀一下錯誤訊息,通常上面都會直接列出解法。

asdf-vm 通用版本管理工具

可以統一管理各種語言版本的小道具,我們這次需要安裝的語言有 Elixir 以及 Erlang,asdf 的使用概念是,安裝語言的套件,然後安裝語言的版本。我們一步一步來。

安裝 asdf 本身

可以參照官方說明

下載 asdf 到 ~/.asdf 資料夾
(閱讀時版本可能與我寫的時候不同,複製官方頁面的指令為主)

git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.2

Mac 用戶可以用 homebrew 安裝

brew install asdf

2. 把 asdf 加入路徑

依照 shell 環境與安裝方法不同,有不同的指令可以執行
指令列表

這邊列出常用的兩種

用 bash 與 git 安裝的加入路徑方法 (Windows(WSL), Ubuntu)

用 VScode 編輯 ~/.bashrc

code ~/.bashrc

並在檔案的最後加上,並存檔關閉

. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash

用 homebrew 安裝的加入路徑方法 (Mac(homebrew)(zsh))

echo -e "\n. $(brew --prefix asdf)/libexec/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc

檢查

重開一次終端機,執行看看 asdf --version 有沒有安裝好了

安裝 Erlang

確定有 asdf 可以執行後,我們就可以安裝我們需要的語言了

幫 asdf 安裝 Erlang plugin

asdf plugin add erlang

直接安裝最新的 Erlang

asdf install erlang latest

安裝 Erlang 的過程會比較久,如果有遇到錯誤,別慌張,慢慢讀一下錯誤訊息,通常他都是在抱怨缺少那些東西害他不能裝好,

asdf-erlang 的 github Readme 頁面有更詳細的安裝指引

完成之後讓 asdf 使用我們剛剛裝的版本

asdf global erlang latest

可以試著呼叫 erl 來看看有沒有裝好,裝好的話會進入 erlang 的互動介面,按兩次 control + c 可以離開。

安裝 Elixir

安裝的步驟跟剛剛類似,都是先安裝 asdf 的 Elixir plugin,再安裝 Elixir 版本,
Elixir 本身不需要額外的東西,所以通常會很順。

幫 asdf 安裝 Elixir plugin

asdf plugin add elixir

安裝最新的 Elixir

asdf install elixir latest

完成後一樣讓 asdf 使用我們剛剛裝好的 elixir 版本

asdf global elixir latest

最後來看看有沒有裝好

elixir -v

應該會回傳 elixir 以及他使用的 erlang OTP 版本

也可以用 iex 進入 elixir 的互動介面來看看,一樣是兩次 control + c 可以離開

別怕,剛開始都這樣

安裝這些對剛入門還不熟悉相關工具的情況,真的很麻煩也很多問題,如果有在哪一個步驟卡住的,非常歡迎留言,你卡住,別人八成也有卡,讓我們一起解決。

好了之後當然要迫不及待的寫老梗 Hello world

我們打開 elixir 的互動介面 iex

iex

這時候我們每輸入一行按 enter 後,他就會直接回傳該行的結果

試著輸入

"Hello World"
3 + 3
8 * 10000

要結束一樣是 control + c 兩次

額外的小知識

Q: 為什麼要裝 Erlang 呢?我是學 Elixir 耶。
A: Elixir 的程式碼會跑在 Erlang 虛擬機上(BEAM VM),所以開發的時候我們兩個都要裝。


上一篇
{01, Intro, "前言與大綱"}
下一篇
{03, Elixir, "變數與型別"}
系列文
速成 Phoenix, 2022年最受喜愛框架30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言