Elixirのインストール
公式ページのインストールガイドから
環境に合わせてインストールしてください。
MIX
Rakeのようなツール
Elixirをインストールすると、一緒にインストールされる。
mixを使ってPhoenix FrameworkなどElixirの環境を構築する。
HEX
RubyGemsのようなElixir,Erlang 向けのパッケージ管理ツール
mixだけではパッケージ管理してくれない、最初はインストールされていないので、
mixでhexをインストールする。
インストール
mix local.hex
バージョン確認
mix hex.info
Elixirに導入するパッケージとバージョンなどは下のページで探す。
HEX https://hex.pm/
初めてPhoenix Frameworkを動かすだけなら、下の作業は不要です。
今後、パッケージを追加する場合などに必要になります。
パッケージを追加する場合は mix.ex
に追加する。
defp deps do
[
{:phoenix, "~> 1.4.3"},
{:phoenix_pubsub, "~> 1.1"},
{:phoenix_ecto, "~> 4.0"},
{:ecto_sql, "~> 3.1"},
{:postgrex, "~> 0.14.2"},
{:phoenix_html, "~> 2.13"},
{:phoenix_live_reload, "~> 1.2", only: :dev},
{:gettext, "~> 0.16.1"},
{:jason, "~> 1.1"},
{:plug_cowboy, "~> 2.0"},
]
end
追加されているパッケージとバージョンは mix.lock
ファイルで確認できる。
パッケージの指定方法はhexから取得するだけでなく、gitリポジトリ、ローカルパスの指定も可能です。
{:gettext, git: "https://github.com/elixir-lang/gettext.git", tag: "0.1"}
{:local_dependency, path: "path/to/local_dependency"}
指定方法の詳細はリファレンスを参照。
https://hexdocs.pm/mix/Mix.Tasks.Deps.html
下のコマンドでパッケージを取得してプロジェクトへ追加します。
mix deps.get
対話シェルでパッケージの動作確認をしたい場合などは下のコマンドで
mix.ex
の依存関係・環境でiexが起動します。
iex -S mix
Phoenix Framework
下のコマンドでインストールする。
mix archive.install hex phx_new バージョン
例 1.5.5を導入する場合
mix archive.install hex phx_new 1.5.5
HEX https://hex.pm/packages/phx_new
Phoenix Frameworkで使用されているライブラリなど・・・・
CowBoy Phoenix Frameworkで使用されているWebサーバー
Ecto データベースを操作するためのライブラリ
新規プロジェクト作成
mix phx.new ディレクトリ名
※ディレクトリが無かったら自動で作成してくれます。
例 相対パスでの指定も可能
mix phx.new ./project/hello
プロジェクト実行
プロジェクトのディレクトリへ移動して、下のコマンドを実行します。
mix phx.server
エラーが出力される場合
inotify-toolsをインストールする
sudo apt install inotify-tools
nodeをインストールする
sudo apt install -y nodejs npm
cd assets
npm install
データベースのエラーが出力される場合、
[Phoenix Frameworkでデータベースを使う]
(https://qiita.com/shio1997/items/2077242ae807c82ba9d9)
を実施すると解消する。