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インストール後、ターミナルで以下コマンドを実行します
Homebrewが未だインストールされていない方のみ、下記コマンドを実施してくださいbrew update brew install elixir
/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/
-
①-1:Ubuntu 20.04用Erlang
方法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 Schoolhttps://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/ |