Excelから関数型言語マスター8回目:Gigalixirにお試しリリース...をやってみた

元記事様: 


実行環境


・Mac OS v10.15.7(スペックがゴミすぎてOSのアップデートが不能💦)

・Elixir v1.13.2 ( Erlang/OTP 24)

・Erlang v24.2.1

・Phoenix v1.6.6

・npm v8.1.2

・Node.js v16.13.2

・git v1.34.1


「Gigalixir」で何ができるか?

【Gigalixir】Elixir/Phoenix向けのPaaS。0.2GBかつ1インスタンスかつ4万行までは無償で使用できる


ローカルPCでgitを使えるようにする

スクリーンショット 2022-02-06 21.46.43

gitはインストール済みなので次


Gigalixirのアカウント作成

スクリーンショット 2022-02-10 9.13.24

登録完了


ローカルPCでPhoenix PJを作成

mix phx.new gigalixir_nodb --no-ecto

もうさすがに慣れてきたプロジェクト作成

スクリーンショット 2022-02-06 21.58.55

いつものphx.server起動

スクリーンショット 2022-02-06 22.00.09


Gigalixirで動かすElixirバージョンを指定する

※Erlangのバージョン確認する方法。Erlang --versionと投げると怒られるだけなので注意

erl -version

Erlang と Elixirのバージョンを指定

スクリーンショット 2022-02-06 22.08.42


Gigalixirで動かすnpm/Node.jsバージョンを指定する

npm / Node.jsのバージョン確認

npm --version
node --version 

npm / Node.jsのバージョン指定

スクリーンショット 2022-02-06 22.08.47

なおバージョン番号は、ローカルPCのnpm/Node.jsがバージョンアップするたびに変えてください

とのことなので、バージョン不一致によるエラーが出た時は要確認


esbuildのassetsデプロイ設定(Phoenix 1.6以降のみ)

スクリーンショット 2022-02-06 22.08.51

Phoenix v1.6以降なのでこれも行う


PJフォルダをGigalixirリモートレポジトリに設定

gitを使用するのが今回初めてなのでgitのセットアップから

git config --global user.name "Alice2127"
git config --global user.email "aiokada2128@gmail.com"
git init

帰ってくるのがこれなら成功

Reinitialized existing Git repository in /Users/aiokada/gigalixir_nodb/.git/

で、Phoenix PJ直下で、git を初期化

Reinitializedになっているのは【おまけ1】の項参照。いっぺん作る場所を間違えちゃったから...

gigalixir_nodb % gigalixir git:remote testalice
Set git remote: gigalixir

ここでログインし忘れ【おまけ2】が判明したので、

gigalixir login

でログイン。IDとパスワードを入力


Gigalixirへのリリース

git add .
git commit -m "New"

リリース対象となる、ローカルフォルダ配下のファイルを追加・コミット

ここで 【おまけ3】の通りErlangのバージョン指定を間違えていたのでVSCodeでバージョン変更

スクリーンショット 2022-02-15 23.20.14

バージョンの指定が終わり、いざ、コミットをpush

git push gigalixir master

スクリーンショット 2022-02-15 23.46.30

こんな感じの画面が流れていく。ちょっと感動してくる🥰

gigalixir_nodb % gigalixir open
Running: open https://testalice.gigalixirapp.com

出来上がったアプリをブラウザで開く

スクリーンショット 2022-02-15 23.50.20

動いたぁああああ〜〜〜〜😭✨✨以上です




【おまけ1】gitのリモートリポジトリを作る場所を間違えたので削除した話

最初、Phoenix PJ直下ではなく誤って新しいディレクトリを作成して、そこにリモートリポジトリを作ってしまった

 gitrepos % git clone https://github.com/Alice2127/-testapp001.git
 gitrepos % gigalixir git:remote testapp001
Set git remote: gigalixir.

カレントディレクトリがgitreposになっており、そこにリモートリポジトリを作ってしまったのでPhoenix PJ直下にリモートリポジトリを作り直したい

git remote remove gigalixir

で削除できた


【おまけ2】Gigalixirにログインできていなかった話

gigalixir_nodb % git add .
git commit -m "New"

を実行し以下の結果を得た

On branch master
nothing to commit, working tree clean

次に、

git push gigalixir master

をしたところ、お手本にはない認証を要求された😅

Username for 'https://git.gigalixir.com': Alice2127
Password for 'https://Alice2127@git.gigalixir.com': 
fatal: Authentication failed for 'https://git.gigalixir.com/testapp001.git/'

おかしいなと思い

gigalixir account

を入力すると...

Sorry, you do not have access to that app or account. 
Try passing the app name explicitly with the `-a` flag. 
If that doesn't work, try running `gigalixir login` or check your ~/.netrc file.

が帰ってきたのでログインできていなかったことが判明した



【おまけ3】Erlangのバージョン指定を間違えていた話

git push gigalixir master

でコミットをプッシュしようとしたが

 Sorry, Erlang '12.2.1' isn't supported yet or isn't formatted correctly. For a list of supported versions, please see https://github.com/HashNuke/heroku-buildpack-elixir#version-support

と言われてプッシュできない。...ん?Erlangのバージョンが12.2.1?

このバージョンの値はどこから来ているかというと、buildpackの設定値

スクリーンショット 2022-02-15 23.57.15

この値をtypoしていたため、「指定のバージョンはサポート外だよ!」と怒られたのであった


【おまけ4】そもそもgigalixirがインストールされてなかった話

gigalixir git:remoteApp名】

 を実行しようとしたらこうなった

gigalixir git:remote testapp001
zsh: command not found: gigalixir

gigalixir --version
zsh: command not found: gigalixir

gigalixirが入ってないとか言われたんで公式を見ながらインストール

gigalixir --version
Usage: gigalixir [OPTIONS] COMMAND [ARGS]...

…

version                         Show the CLI version.

…

gigalixir version
1.2.4

バージョン確認にハイフンつけないんだね。まあともあれ、無事入りました


参考にさせていただいたページ



この記事が気に入ったらサポートをしてみませんか?