Rails Diary

プログラミングの学習記録です。

Rubyのバージョンが変わらなくて困った話(1)

Rubyのバージョンが変わらなくて困った話(1)

〜ごちゃごちゃ備忘録〜

※分からなすぎて嘆いているだけのブログです。

 

【1日目】

Ruby入門のChapter 11、HomebrewでRubyの最新バージョンをインストールしたつもりだったのに出来ていなかった

 

そもそもHomebrwがインストールできていない(なんで?????!!!)

zsh: command not found: brewというエラーが出る

qiita.com

 

同じ状態に陥っている方の記事を見て、M1チップが原因?らしいと分かる

M1チップ搭載の MacbookではIntelプロセッサ搭載のMac用に開発されたAppは使えないらしい

 

 

M1チップ搭載の MacbookでそれらのAppを使うためには「Rosett」というものが必要らしい

【※10/27(水)追記…実際にはこれがなくても別のやり方でできたらしい】

 

いつインストールしたのか全く覚えていないけれども、既に入っているみたいなのでとりあえず上の記事を参考にしながら、ターミナルを「Rosettを使用して開く」という設定に変更することに…

 

 

ただ記事の通りにスポットライトで検索し、右クリックをしても設定画面を開くことができずにまた詰む

 

別のやり方を調べて、ファインダー>アプリケーション>ユーティリティからターミナルのアイコンを表示させ、右クリックで「情報を見る」メニューを出すことに成功

 

変なところで毎回詰まっている気がする🥲

その後、書籍の手順でHomebrewのインストールに成功

 

最新版Rubyをインストールしたい

www.grami-sensei.com

上記サイトで分かったこと

brewコマンドはHomebrewが提供するパッケージ管理のためのコマンド

brew install パッケージ名とすることで必要なパッケージが全てインストールされる

・rbenvはOS上でインストールされているRubyのバージョンを管理するコマンド

・rbenvを入れると複数のバージョンのRubyを簡単に切り替えることができる

 

あまり理解できていないですが、思考停止で「つまりrbenvとやらが必要なのかな?」とhomebrewコマンドを使ってrbenvをインストール

 

 

rbenvを使ってrubyの最新版をインストール

 

 

ワクワクしながらruby -vでバージョン確認をすると

ruby -v

ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin20]

 

なぜか以前と全く変わっていないバージョンに心が折れて寝る

 

 

 

 

【2日目】

翌日(今日)別の記事を頼りに、足掻いてみることに

qiita.com

 

which rubyというコマンドを使い、自分が今までRubyコマンドどこを参照していたのか発覚

 /usr/bin/ruby

 

どうやら、MacBookに元からインストールされているRubyを参照していたらしい

(そりゃいくら最新版をインストールしてもバージョンが変わるわけがない)

 

 

上の記事の参照先の変更方法を試してみる

正直どういう意味のコマンドなのか全く分かっていないけれども早く次に進みたかったので、またもや思考停止で試してみることに

https://i.gyazo.com/2f9d15de6a61a6a29e8e5da40f3a47e9.png

 

この状態から全く動かなくなる🙄

 

 

しばらく待ってみても特に変化がないので、ターミナルの新しいウィンドウを開き、

source ~/.bash_profileというコマンドを実行

 

再度ruby -vでバージョン確認をしてみると・・・

https://i.gyazo.com/828a5a57a0aaf7e0f95ec9432fd68cb9.png

 

できだ!!!

コマンドの細かい意味よく分からないけど最新版だ!!!🤤

 

 

 

課題をやるべくVS codeを開き、再度ruby -vを押してみるとなぜかまた元のバージョンしか表示されずに心が折れる(2回目)

 

 

 

*感想

こんなんで良いのか先行きが不安になった二日間だった…

これまでも、書籍やカリキュラムの画面通りにならずに困ったことが多かったけれで、全部M1チップの影響なのではないかな?よく分からない

 

その次の日、なんやかんや別の記事にたどり着いて解決します。

zenn.dev