rbenvにてRubyのインストールがうまくいかない方に試してほしいこと

この記事では、rbenvにてうまくRubyのバージョン指定ができなかった事の解決策としてメモを残しています。

rbenv install 2.7.2 がうまくいかない問題。(途中でBUILD FAILED (macOS 11.2.1 using ruby-build 20210309)エラーが出てしまう)

 

【何をした?】

  • まず答えから言うと、
    hash -r
    上記のコマンドを実行しました。
    (ハッシュテーブルを削除する)ためのコマンドオプションをつけています。

※実行場所は、
/Users/urname/.rbenv/shims

  • 実行場所によりこのコマンドの実行結果が変わるかは不明です。

今回の問題の起因・解消したい点は、

which ruby にて、/usr/bin/ruby が表示されることでした。

下記が求める実行結果

~/.rbenv/shims $which ruby   
/Users/myMBP/.rbenv/shims/ruby

which rubyで、.rbenv/shims/rubyと表示されているのでOKです。

そして、このパス問題の前にも色々と試行錯誤していました。

~/.zshrcの設定について

私のMacは .zshrc で設定しています。
vim ~/.zshrcにて設定した現在の設定が以下です。

export PATH="~/.rbenv/bin:$PATH"
# export PATH="~/.rbenv/shims:/usr/local/bin:$PATH"
eval "$(rbenv init -)"
他からコピペしたときから変更した事
  1. コメントアウトした方ではうまくいかなかった
  2. 誤)"$(:rbenv init -)" 正)eval "$(rbenv init -)" ←セミコロンの有無
  3. eval~は改行する。

rbenv install 2.7.2 がうまくいかない問題。(途中でBUILD FAILED (macOS 11.2.1 using ruby-build 20210309)エラーが出てしまう)

元のエラーログは以下

BUILD FAILED (macOS 11.2.1 using ruby-build 20210309)

Inspect or clean up the working tree at /var/folders/jt/gyw9w1zd0197rs2gdkj3m7240000gn/T/ruby-build.20210325210158.70033.uzEb0G
Results logged to /var/folders/jt/gyw9w1zd0197rs2gdkj3m7240000gn/T/ruby-build.20210325210158.70033.log

Last 10 log lines:
	Could not be configured. It will not be installed.
	/private/var/folders/jt/gyw9w1zd0197rs2g

解決するために何をした?

下記のコマンドを実行
export RUBY_CONFIGURE_OPTS="--with-openssl-dir=/usr/local/opt/openssl@1.1"

何のためのコマンドか?

rbenv installがopensslで失敗する。Homebrewで最新のopensslが入っているが、それを見に行かないもよう。
環境変数を足すと成功。
https://qiita.com/kazutosato/items/9c4ff7711ca992dd67e5

上記のコマンド実行後、無事にインストール成功!

ruby-build: using readline from homebrew
Installed ruby-2.7.2 to /Users/myMBP/.rbenv/versions/2.7.2

これでこのような表示だったのが、

~ $rbenv versions  
* system (set by /Users/myMBP/.rbenv/version)

versionが出ましたね。

~ $rbenv versions
* system (set by /Users/myMBP/.rbenv/version)
  2.7.2

そしてグローバル設定をする。(バージョン指定)

~ $rbenv global 2.7.2
~ $rbenv versions    
  system
* 2.7.2 (set by /Users/myMBP/.rbenv/version)

選択されました!

 

今回問題が起きたと思われる原因

インストール前にsource ~/.zshrc

を実行してしまったためと思われます。

この辺りの環境構築に関しては、より勉強が必要です。

 

その他使ったコマンド

~/.rbenv/shims $which -a ruby                    
/Users/myMBP/.rbenv/shims/ruby
/Users/myMBP/.rbenv/shims/ruby

上記のようにルビーのパス一覧がでます。
※ただし優先順位で表示されているわけでないので注意。

  • ~/.rbenv/shims $./ruby -v
    直接Rubyを指定し、versionを確認できます。
~/.rbenv/shims $./ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin20]
  • インストール補足

ちょっと実行速度は遅くなりますが、 慣れるまでは
rbenv install -v 2.7.2 と、冗長モードで実行してメッセージを詳しめに表示させながら実行したほうがいいかもですね。