GitHub pagesを作成する時にasdfでつまづいた事のメモ
前提
利用したフレームワークと実行した環境
asdf
macOS
以前Github Pagesを作成しようとした時に色々つまづいた事をメモとして記載しています
rubyのランタイムはasdfを利用して制御しています。
このasdfでの設定周りで中々切り替える事が出来ずに1時間近く溶かしたので備忘録
経緯
QA向けのOSSプロジェクト(勉強用)を複数名で作成している時に、説明するページが欲しくなりGithub pagesを作成することになりました。
Github wikiで駄目な理由はCIを組める事ができるのが、pagesだったというのと今までGithub pagesを利用した事がなかった為です。
それでGithub pagesはjekyllを利用すると良いと公式ページに記載があったため、同僚の中で話にあがっていたasdfを試してみよう!!と思ったのでした。
結論
単純にasdfの設定を再読み込みしてあげることで指定したバージョンに切り替える事はできました。
source .zshrc
なぜ解決する事に時間が掛かったのか
asdfの扱いに慣れていなかった
rubyの指定したバージョンをインストール出来ているのか当時は理解できていなかった
macOSのruby実行環境から切り替わらないのを執拗に掘り下げようとしすぎた
asdfの大まかな説明
asdfは実行するランタイムを切り替える事ができるツールです
対応しているのはnode,ruby,jave等々
公式サイト
このasdfで好きな実行環境にするのは大まかに以下の手順です
依存関係をインストールする
asdfコアをインストールする
asdfをインストールする
自分で管理したいツール等のpluginをインストールする
ツール等のバージョンをインストールする
使いたいバージョンを設定する
今回はまったのは手順5と6番でした
プラグインを追加する時の公式サイトの例
この例ではnodejsプラグインを追加している
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
5番ではrubyのプラグインを追加する必要があったので、下記の様なコマンドで追加を行いました
asdf plugin add ruby https://github.com/asdf-vm/asdf
私のプロジェクトではrubyのバージョンはruby 3以上を利用する必要があった為、下記の様なコマンドで追加を行いました
asdf intall ruby 3.*.*
# 3.2.1 のように記入
ここで問題だったのが、既にシステムが利用しているruby2 と私が使いたいバージョンのruby3で、切り替えをする必要があったことでした。
上記のトラブルシューティングのページでは現在利用しているバージョンを調べる方法が記載されています
その中で現在の$PATHに登録されているバージョンを調べる事ができるコマンドが紹介されていました。
type -a ruby
なのでそのコマンドを入力した結果system デフォルトのバージョンが選択されていたので、どうやれば新しくインストールしたpluginのバージョンにすることで悩んだのですが、結論は最初に述べた通り下記のコマンドで再度プロファイルを読み込めばシステムのバージョンではなく、自分が追加したruby のバージョンで起動することができました
source ~/.zshrc
#.zshrcに記載されていたasdfについての記載
. "$HOME/.asdf/asdf.sh"
トラブルはあったものの今では自分の利用したいrubyバージョンで開発できているので特に問題はないです。
次回はGo言語のcontextか、ソフトウェアの設計についてのメモを記載しようかな?