この記事ではElixirのPhoenixのインストールまでのコマンドについて詳細に解説をしていく記事になります。
参考にしたのは以下のサイトのコマンドになります。
個人的に一度以上手を動かして動作を確認済みのためこの記事の通りにコマンドを実行すれば間違いなくPhoenixのインストールまでは完遂できることは確認済みです。
ですが、なぜこのコマンドを実行するのか?なんの目的でやっている処理なのかが明確に理解できずにいました。
そのためその内容を順番に解説するのがこの記事の目的となります。
ElixirとPhoenixのインストール
wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb
wgetはインストールのためのコマンドになります。
web上からファイルのダウンロードを行います。
今回はhttps://packages.erlang-solutions.com/erlang-solutions_2.0_all.debをダウンロードします
このダウンロードする中身はdebファイルでありバイナリパッケージが含まれています。
GNU Wget is a free utility for non-interactive download of files from the Web. It supports HTTP, HTTPS, and FTP protocols, as well as retrieval through HTTP proxies.
バイナリパッケージ。これは実行可能ファイルや設定ファイル、man/info ページ、著作権情報、その他の文書を収録します。この種のパッケージは Debian 固有の圧縮形式 (「Debian のバイナリパッケージはどんな形式ですか?」 参照) で配布されています。通常、ファイルの拡張子が「.deb」だという特徴があります。
sudo dpkg -i erlang-solutions_2.0_all.deb
dpkg -i でダウンロードしたerlang-solutions_2.0_all.debのインストールを行う
「dpkg」とはdebianのパッケージである「deb」ファイルを取り扱うコマンドである。名前の由来は「Debian Package」の略とされている。
dpkgはdebファイルを使用するときの基礎コマンドであり、丁度Redhat系列でいうところの「rpm」コマンドに相当する。
sudo apt update -y
パッケージのインストールが行われたためパッケージリストの更新を行う。
なおこのコマンドを実行する目的は以下スクショ抜粋
sudo apt install erlang -y
sudo apt install erlang -y
sudo apt install inotify-tools -y
sudo apt install erlang-xmerl -y
sudo apt install erlang-os-mon -y
sudo apt install elixir -y
まで同じコマンドでの実行のためまとめて解説を行う
パッケージのインストールを行い、-yオプションですべての選択を自動でyesにする
mix archive.install hex phx_new 1.6.15
アーカイブをローカルにインストール
elixir --version
elixirのバージョン確認
-v, --version Prints Erlang/OTP and Elixir versions (standalone)
mix archive
インストールされているすべてのアーカイブを一覧表示
sudo apt update
インストールしたパッケージの更新
sudo apt install postgresql -y
postgresqlのインストール
sudo service postgresql start
スーパーユーザー権限でPostgreSQLデータベースが起動
sudo su - postgres -c psql
su - postgresでpostgreSQLのシステムユーザーであるpostgresに切り替え
-c psql PostgreSQLの対話型シェルであるpsqlを起動
postgres=# alter role postgres with password 'postgres';
パスワード設定
https://www.ajisaba.net/db/postgresql/role_password.html
postgres=# \q
postgresからのログアウト
mix phx.new basic
プロジェクトの作成
Creates a new Phoenix project.
It expects the path of the project as an argument.
cd basic
階層の移動
mix ecto.create
リポジトリのストレージの作成
Postgresの中にデータベースを作る
iex -S mix phx.server
iexは対話型のシェルの起動
-Sオプションは指定されたスクリプト実行のためのオプション
mix phx.serverはPhoenixの開発サーバーの起動のためのコマンド
DESCRIPTION
The interactive shell is used for evaluation, debugging and introspection of the Elixir runtime system. It is
also possible to use the program for testing the work of small pieces of code escaping the stage of saving the
code in a file.