質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

2回答

1056閲覧

M1macへの最新版rubyのインストールがうまく行かない

kmrrr

総合スコア1

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2023/06/14 02:28

実現したいこと

mac OSに最新版rubyのインストールをしようとしています。ruby3.2のファイル自体はローカルにインストールできているようなのですが、ターミナルでruby --versionを実行すると

ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin22]

と返ってきてしまいます。

やったこと

homebrew(バージョンはHomebrew 4.0.22)を使用

% brew install ruby

実行結果の途中から最後まで

==> Summary 🍺 /opt/homebrew/Cellar/ruby/3.2.2: 16,605 files, 48.3MB ==> Running `brew cleanup ruby`... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). ==> Caveats ==> ruby ruby is keg-only, which means it was not symlinked into /opt/homebrew, because macOS already provides this software and installing another version in parallel can cause all kinds of trouble. If you need to have ruby first in your PATH, run: echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc For compilers to find ruby you may need to set: export LDFLAGS="-L/opt/homebrew/opt/ruby/lib" export CPPFLAGS="-I/opt/homebrew/opt/ruby/include" For pkg-config to find ruby you may need to set: export PKG_CONFIG_PATH="/opt/homebrew/opt/ruby/lib/pkgconfig"

実行結果の"If you need"から始まるPATHを通す処理も行いました。

% echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc

この処理の後 ruby --versionを実行すると、brew install ruby 実行前と同じく

ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin22]

が返ってきてしまいました。

実際
/opt/homebrew/Cellar/ruby
に3.2.2というファイルが存在しているため、PATHがうまく行っていないのかなと推測していますが、どのようにしたらruby --versionで3.2.2 と返ってくるようになるでしょうか。教えていただきたいです。
回答に必要な他の情報がありましたら補足いたします。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

AbeTakashi

2023/06/14 03:09

~/.zshrcを書き換えた後、 source ~/.zshrc を叩くか、一度ログアウトして再ログインしないと反映されないと思いますが、それは対応済みでしょうか? 対応済みならその内容は質問文に含むようにした方が良いです。 回答から外れるかもしれませんが、homebrewで直接rubyを入れるよりは、rbenvをつかった方がアップデートの不具合も減り、取り回しも良くなると思いますので、こちらも検討されたらどうでしょうか?(やり方はご自身の環境に合わせてググってみてください)
kmrrr

2023/06/14 03:21

コメントありがとうございます。再ログインすることで問題は解決しました。 今使っている教材でhomebrewを使うやり方が載っていてhomebrewを使ったこともあったことので採用してみようと思ったのですが、教えていただいたrbenevについても勉強しようと思います。 この度はありがとうございました。
otn

2023/06/14 09:58

> 教えていただいたrbenevについても勉強しようと思います。 最新バージョンだけを使うのでなく複数バージョンのRubyを平行して利用する必要があり、複数のバージョンの環境が同居しているという事による考慮点などが把握できた場合に rbenv にトライしましょう。
guest

回答2

0

zshに記載したパスが読み込まれない場合は、下記コマンドで環境変数(パス)が適用されます↓(次回ターミナル起動時には自動で読み込まれます)

bash

1$ source ~/.zshrc

上記コマンドでもバージョンが更新されない場合は、下記2通りの方法を試してみていただけますか?
(おすすめは②ですが、質問さんの状況では①から試すのが良いと思います)

①ログに表示されていた"If you need"以外の export〜から始まる環境変数をzshrcに記載して、sourceコマンドめ環境変数を適用してみる。

②rbenvという言語バージョン管理ツールを利用されると上手くいくかもしれません。

bash

1$ brew install rbenv 2$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc 3$ echo 'eval "$(rbenv init -)"' >> ~/.zshrc 4$ source ~/.zshrc 5$ rbenv install 3.2.2 6$ rbenv global 3.2.2 7$ rbenv rehash 8$ ruby -v 9# -> 3.2.2になるはず 10# 上手くいったらrubyを消しておく 11$ brew install ruby

投稿2023/06/14 03:37

taka-p

総合スコア28

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kmrrr

2023/06/14 03:51 編集

tkc310さん回答をいただきありがとうございました。再ログインを試すようにコメントをいただきやってみることで解決ができました。tkc310さんが詳しく書いてくださったように、パスの更新ができていなかったようです。 この度はありがとうございました。
taka-p

2023/06/14 04:20

時間差のコメントで解決されていたようですね! 解決できてよかったです^^
guest

0

自己解決

~/.zshrcを書き換えた後、ターミナルを再ログインすることで解決しました。コメントいただいたAbeTakashi様ありがとうございました。

投稿2023/06/14 03:22

kmrrr

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問