Elixirを始める

【このページは、5~10分で読めて、1~2時間くらいでお試しいただけます】

Elixirを始めるステップは、以下の通りです

  • ①Elixirをインストールする
  • ②Livebookをインストールする
  • ③Elixirに入門する
  • ④入門のあとは… ※独学では無く、コミュニティで学びたい方は「⑤みんなで学ぶ」へ

①Elixirをインストールする

Elixirのインストールには、以下5種類の方法がありますが、お使いのOSに合わせて、いずれか1つを実行してください

  • 方法a)インストーラを使う(Windows/Mac/Ubuntuでオススメ)
  • 方法b)DockerでElixirイメージをpullする(Ubuntu以外のLinuxでオススメ)
  • 方法c)WSL2を使う(Windows+WSL2に慣れてて、Web開発以外もしたい方にオススメ) 導入コラム
  • 方法d)asdfを使う ※はじめての方にはオススメしない 導入コラム
  • 方法e)ソースコードからビルドする ※はじめての方にはオススメしない

ここでは、「方法a)インストーラを使う」と「方法b)DockerでElixirイメージをpullする」の手順を解説します(その他の方法は上記の「導入コラム」リンクを確認してください)

方法a)インストーラを使う(Windows/Mac/Ubuntuでオススメ)

各OSごとの手順がありますので、お使いのOSに合わせて実行してください

  • Windowsこちらのリンクをクリックし、「Download the installer」からインストーラをダウンロードして実行します
  • Mac:Homebrewインストール後、ターミナルで以下コマンドを実行します
    brew update
    brew install elixir
    Homebrewが未だインストールされていない方のみ、下記コマンドを実施してください
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ${ZDOTDIR:-~}/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"
  • Ubuntu:端末(Terminal)で各OSの、Erlang(①)を入れた後、Elixir(②)を入れます
    • ①-1:Ubuntu 20.04用Erlang
      wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb
      sudo dpkg -i erlang-solutions_2.0_all.deb
      sudo apt update -y
      sudo apt install erlang -y
    • ①-2:Ubuntu 22.04用Erlang
      wget https://packages.erlang-solutions.com/erlang/debian/pool/esl-erlang_25.2.3-1~ubuntu~jammy_amd64.deb
      sudo dpkg -i esl-erlang_25.2.3-1~ubuntu~jammy_amd64.deb
      sudo apt update -y
      sudo apt install erlang -y
      sudo apt --fix-broken install -y
    • ②:Elixir(20.04、22.04共通)
      wget https://github.com/elixir-lang/elixir/releases/download/v1.14.3/elixir-otp-25.zip
      sudo apt install inotify-tools -y
      sudo apt install unzip -y
      unzip elixir-otp-25.zip
      sudo cp -a bin/ /usr/local/
      sudo cp -a lib/ /usr/local/

方法b)DockerでElixirイメージをpullする(Ubuntu以外のLinuxでオススメ)

Dockerインストール後、以下コマンドを実行してください

なお、「-p」で指定するポート番号は、ElixirのWebフレームワーク「Phoenix」が起動するポート番号です

sudo docker pull elixir
sudo docker run -p 4000:4000 -i -t elixir /bin/bash

Dockerが未インストールの場合は、下記からDockerをインストールしてください

https://www.docker.com/products/docker-desktop/

②Livebookをインストールする

「Livebook」を使えば、ターミナルやエディタを使わずに、Web上でElixir開発ができます

各OSごとの手順がありますので、お使いのOSに合わせて実行してください

  • Windows/Macこちらのリンクをクリックし、各OSボタンからインストーラをダウンロードして実行し、PC再起動し、Livebookを起動します
  • Ubuntu/WSL2/Ubuntu以外のLinux:端末(Terminal)やターミナルで以下コマンドを実行します
    mix escript.install hex livebook
    echo 'export PATH=$HOME/.mix/escripts:$PATH' >> ~/.bashrc
    source ~/.bashrc
    livebook server
    (表示されるURLをブラウザに入力)
    上記コマンドで上手く入らない場合は、下記コマンドをお試しください
    git clone https://github.com/livebook-dev/livebook.git
    cd livebook
    mix deps.get --only prod
    MIX_ENV=prod mix phx.server
    (表示されるURLをブラウザに入力)

下記画面がブラウザで表示された後、右上の「+New notebook」ボタンをクリックします


コードブロック(黒背景の入力可能領域)にElixirコードを書き、「Evaluate」リンクをクリックするか、Ctrl+Enterキーを押下すると、Elixirコードが実行されます

③Elixirに入門する

Elixir Schoolは、Elixirのコードと解説がまとめてある学習サイトです

初級/中級/上級とレベルが分けられており、レベルに応じた学習ができます

また、テスト、データ処理、DB(Ecto)など、Elixirでのシステム開発に必要なカテゴリも扱っており、 無料で最初に学習するにはとても良いサイトです

上部の「レッスン」から、「1.初級」を選択し、「対話モード」から始め、「初級」を一通り、試してみてください

Elixir School
https://elixirschool.com/ja

④入門の後は…

Elixirは、以下のような様々なシステムを開発できます

リアルタイムWeb(SPA)開発を試してみよう

Elixirで、ReactやVue.jsのようなリアルタイムWeb/SPA(Single Page Application)の開発が、60分くらいの動画で学べます

https://elixir-lang.info/topics/web_spa

スマホアプリ開発を試してみよう

Elixirで、React NativeやFlutter、Kotlin/Swiftのようなスマホネイティブアプリの開発が、30分くらいの動画で学べます

https://elixir-lang.info/topics/mobile

AI・機械学習の基礎を学び、実装してみよう

Elixirで、PythonのようなAI・機械学習の基礎知識と実装手法が、60分くらいの動画で学べます

https://elixir-lang.info/topics/ai_ml

IoT開発を試してみよう

(近日公開予定)

⑤みんなで学ぶ

Elixirは、以下のように、毎月多くのイベント/勉強会を開催しており、ネット上のコミュニティも盛んです

Discord「elixirと見習い錬金術師」に参加してみよう

「elixirと見習い錬金術師」は、Elixirに入門したばかりの方が情報収集したり、交流するためのDiscordです

入門者向けイベントに連動した各チャンネルがあり、イベントのお知らせも流れます

また、コードやツール、環境構築に関する質問をメンバー同士で解決し合うチャンネルもあります

どんな様子かは、下記URLからjoinすると見れます

Discord「elixirと見習い錬金術師」
https://discord.com/invite/k7PHppmy53

国内のElixirコミュニティを巡ってみよう

国内のElixirコミュニティは、2023年時点で28箇所あります

Elixir入門者向けコミュニティもあれば、経験者向けやカテゴリ特化のコミュニティもあります

各コミュニティの紹介は、下記スライドをご覧ください

Elixirコミュニティ の歩き方〜国内オンライン編〜
https://speakerdeck.com/elijo/elixirkomiyunitei-falsebu-kifang-guo-nei-onrainbian

イベントカレンダーからElixir勉強会を探してみよう

Elixirの勉強会イベントは、毎月20本以上、開催しています

開催日程は、下記カレンダーにてご確認ください

Elixirイベントカレンダー
https://elixir-jp-calendar.fly.dev/