Elixir環境構築完全ガイド
Elixir環境構築完全ガイド
Section titled “Elixir環境構築完全ガイド”Elixirの環境構築から、実務で使えるベストプラクティスまで詳しく解説します。
1. Elixirとは
Section titled “1. Elixirとは”Elixirの特徴
Section titled “Elixirの特徴”Elixirは、Erlang VM(BEAM)上で動作する関数型プログラミング言語です。並行処理とフォールトトレランスに優れています。
必要なツール
Section titled “必要なツール”- Erlang/OTP: Elixirが動作するための基盤となる仮想マシン
- Elixir: プログラミング言語本体
- Mix: プロジェクト管理ツール(Elixirに含まれる)
2. macOSでのインストール
Section titled “2. macOSでのインストール”Homebrewを使用したインストール
Section titled “Homebrewを使用したインストール”# Homebrewのインストール(未インストールの場合)/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# ErlangとElixirのインストールbrew install elixir
# バージョンの確認elixir --versionasdfを使用したインストール(推奨)
Section titled “asdfを使用したインストール(推奨)”# asdfのインストールbrew install asdf
# asdfをシェルに追加echo -e "\n. $(brew --prefix asdf)/libexec/asdf.sh" >> ~/.zshrcsource ~/.zshrc
# Erlangプラグインの追加asdf plugin add erlang
# Elixirプラグインの追加asdf plugin add elixir
# Erlangのインストールasdf install erlang 26.2.1
# Elixirのインストールasdf install elixir 1.16.0
# グローバルバージョンの設定asdf global erlang 26.2.1asdf global elixir 1.16.0
# バージョンの確認elixir --version3. Windowsでのインストール
Section titled “3. Windowsでのインストール”Chocolateyを使用したインストール
Section titled “Chocolateyを使用したインストール”# Chocolateyのインストール(未インストールの場合)# PowerShellを管理者として実行Set-ExecutionPolicy Bypass -Scope Process -Force[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
# ErlangとElixirのインストールchoco install erlang elixir
# バージョンの確認elixir --version公式インストーラーを使用したインストール
Section titled “公式インストーラーを使用したインストール”- https://elixir-lang.org/install.html からインストーラーをダウンロード
- インストーラーを実行
- 環境変数PATHに追加
4. Linux (Ubuntu/Debian)でのインストール
Section titled “4. Linux (Ubuntu/Debian)でのインストール”公式リポジトリからインストール
Section titled “公式リポジトリからインストール”# リポジトリの追加sudo apt-get updatesudo apt-get install -y software-properties-common
# Erlang Solutionsのリポジトリを追加wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.debsudo dpkg -i erlang-solutions_2.0_all.debsudo apt-get update
# ErlangとElixirのインストールsudo apt-get install -y erlang elixir
# バージョンの確認elixir --versionasdfを使用したインストール(推奨)
Section titled “asdfを使用したインストール(推奨)”# 必要な依存関係のインストールsudo apt-get updatesudo apt-get install -y \ build-essential \ autoconf \ m4 \ libncurses5-dev \ libwxgtk3.2-dev \ libgl1-mesa-dev \ libglu1-mesa-dev \ libpng-dev \ libssh-dev \ unixodbc-dev \ xsltproc \ fop \ libxml2-utils \ libncurses-dev \ openjdk-11-jdk
# asdfのインストールgit clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0echo '. "$HOME/.asdf/asdf.sh"' >> ~/.bashrcecho '. "$HOME/.asdf/completions/asdf.bash"' >> ~/.bashrcsource ~/.bashrc
# Erlangプラグインの追加asdf plugin add erlang
# Elixirプラグインの追加asdf plugin add elixir
# Erlangのインストールasdf install erlang 26.2.1
# Elixirのインストールasdf install elixir 1.16.0
# グローバルバージョンの設定asdf global erlang 26.2.1asdf global elixir 1.16.0
# バージョンの確認elixir --version5. インストールの確認
Section titled “5. インストールの確認”基本的な確認
Section titled “基本的な確認”# Elixirのバージョン確認elixir --version
# Mixのバージョン確認mix --version
# IEx(対話型シェル)の起動iexIExでの動作確認
Section titled “IExでの動作確認”# IExで実行iex(1)> 1 + 12
iex(2)> "Hello, " <> "Elixir!""Hello, Elixir!"
iex(3)> [1, 2, 3] |> Enum.map(&(&1 * 2))[2, 4, 6]6. プロジェクトの作成
Section titled “6. プロジェクトの作成”新しいプロジェクトの作成
Section titled “新しいプロジェクトの作成”# プロジェクトの作成mix new my_app
# プロジェクトディレクトリに移動cd my_app
# 依存関係のインストールmix deps.get
# テストの実行mix testPhoenixプロジェクトの作成
Section titled “Phoenixプロジェクトの作成”# Phoenixのインストールmix archive.install hex phx_new
# Phoenixプロジェクトの作成mix phx.new my_web_app
# プロジェクトディレクトリに移動cd my_web_app
# 依存関係のインストールmix deps.get
# データベースの作成mix ecto.create
# サーバーの起動mix phx.server7. 実務でのベストプラクティス
Section titled “7. 実務でのベストプラクティス”パターン1: バージョン管理ツールの使用
Section titled “パターン1: バージョン管理ツールの使用”# asdfを使用したバージョン管理# .tool-versionsファイルを作成echo "erlang 26.2.1" > .tool-versionsecho "elixir 1.16.0" >> .tool-versions
# プロジェクトごとにバージョンを設定asdf installパターン2: 環境変数の設定
Section titled “パターン2: 環境変数の設定”# .envファイルの作成cat > .env << EOFDATABASE_URL=postgresql://user:password@localhost/myappSECRET_KEY_BASE=your_secret_key_baseEOF
# 環境変数の読み込みsource .env8. よくある問題と解決策
Section titled “8. よくある問題と解決策”問題1: バージョンが表示されない
Section titled “問題1: バージョンが表示されない”原因:
- PATHが正しく設定されていない
- インストールが完了していない
解決策:
# PATHの確認echo $PATH
# Elixirのパスを確認which elixir
# PATHに追加(必要に応じて)export PATH="$PATH:/path/to/elixir/bin"問題2: 依存関係のインストールエラー
Section titled “問題2: 依存関係のインストールエラー”原因:
- ネットワークの問題
- キャッシュの問題
解決策:
# キャッシュのクリアmix deps.clean --all
# 依存関係の再インストールmix deps.get
# Hexの更新mix local.hex --forceこれで、Elixirの環境構築の基礎知識と実務での使い方を理解できるようになりました。