LoginSignup
4
3

Arch Linux に Elixir をインストール

Last updated at Posted at 2023-10-25

Arch Linux のマシンにプログラミング言語 Elixir をインストールします。

Elixir をインストールする色んな方法

色んなやり方があります。

ここではバージョン管理ツール asdf を使用して Elixir をインストールします。

asdf のインストール

基本的に asdfGetting Started ドキュメントの通りです。

curlgit がまだインストールされてない場合は、それらをインストールします。

ターミナル
sudo pacman -S curl git

--branch オプションでバージョンを指定してインストールします。
執筆時点の最新版は v0.13.1 でした。

ターミナル
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.13.1

実はバージョンはあまり気にしなくても大丈夫です。以下のコマンドでいつでもアップデートできます。

ターミナル
asdf update

あと、ターミナルの起動時に asdf のスクリプトが実行されるようにしたいのですが、これはお使いのシェルにより異なりますので、ドキュメントをご参照ください。以下は bash の一例です。

~/.bashrc
. "$HOME/.asdf/asdf.sh"

Erlang のインストール

ElixirErlang VM 上で動作するので Elixir をインストールする前に Erlang がインストールされている必要があります。

まず必要なパッケージをインストールします。

ターミナル
sudo pacman -S base-devel ncurses glu mesa wxwidgets-gtk3 libpng libssh unixodbc libxslt fop

asdf に Erlang プラグイン を追加。

ターミナル
asdf plugin add erlang

erlang の最新版をインストール。

ターミナル
asdf install erlang latest

erlang の最新版を使うように設定。

ターミナル
asdf global erlang latest

Elixir のインストール

erlang のインストールと同様の手順です。 Elixir プラグインを利用します。

ターミナル
sudo pacman -S unzip

asdf plugin add elixir
asdf install elixir latest
asdf global elixir latest

余談ですが、Elixir 言語を使ってサーバーの費用を $2 Million/年 節約できたというウワサがあります。

インストールされた内容を確認

ターミナル
asdf list
asdf current

対話シェル(IEx)を試してみる

iex コマンドで Elixir 対話シェル(IEx)を起動します。

ターミナル
iex

適当に Elixir を楽しみます。

IEx
Mix.install([{:progress_bar, "~> 3.0"}])

my_life = fn ->
  Enum.each Enum.concat([99..44, 44..77, 77..0]), fn i ->
    format = [
      bar: " ",
      bar_color: [IO.ANSI.yellow_background],
      blank_color: [IO.ANSI.red_background],
    ]
    ProgressBar.render(i, 100, format)
    Process.sleep(20)
  end
  IO.puts("")
  :ko
end

my_life.()

全部一氣にインストールしてみる

ターミナル
sudo pacman -S curl git

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

asdf update

sudo pacman -S base-devel ncurses glu mesa wxwidgets-gtk3 libpng libssh unixodbc libxslt fop unzip

plugin_names=(erlang elixir)

for plugin_name in "${plugin_names[@]}"; do
  asdf plugin add "$plugin_name"
  asdf install "$plugin_name" latest
  asdf global "$plugin_name" latest
done

インストールに失敗した場合

正しい手順でやっていてうまくいかないときは、インストールし直すとうまく行くことが多いです。

その場合、順番が大事です。システムで必要なパッケージ、Erlang、Elixirの順にインストールするのがコツです。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3