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を使えるようにする
gitはインストール済みなので次
Gigalixirのアカウント作成
登録完了
ローカルPCでPhoenix PJを作成
mix phx.new gigalixir_nodb --no-ecto
もうさすがに慣れてきたプロジェクト作成
いつものphx.server起動
Gigalixirで動かすElixirバージョンを指定する
※Erlangのバージョン確認する方法。Erlang --versionと投げると怒られるだけなので注意
erl -version
Erlang と Elixirのバージョンを指定
Gigalixirで動かすnpm/Node.jsバージョンを指定する
npm / Node.jsのバージョン確認
npm --version
node --version
npm / Node.jsのバージョン指定
なおバージョン番号は、ローカルPCのnpm/Node.jsがバージョンアップするたびに変えてください
とのことなので、バージョン不一致によるエラーが出た時は要確認
esbuildのassetsデプロイ設定(Phoenix 1.6以降のみ)
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でバージョン変更
バージョンの指定が終わり、いざ、コミットをpush
git push gigalixir master
こんな感じの画面が流れていく。ちょっと感動してくる🥰
gigalixir_nodb % gigalixir open
Running: open https://testalice.gigalixirapp.com
出来上がったアプリをブラウザで開く
動いたぁああああ〜〜〜〜😭✨✨以上です
【おまけ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の設定値
この値をtypoしていたため、「指定のバージョンはサポート外だよ!」と怒られたのであった
【おまけ4】そもそもgigalixirがインストールされてなかった話
gigalixir git:remote 【App名】
を実行しようとしたらこうなった
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
バージョン確認にハイフンつけないんだね。まあともあれ、無事入りました
参考にさせていただいたページ
この記事が気に入ったらサポートをしてみませんか?