LoginSignup
1
0

More than 1 year has passed since last update.

MacOS 12.5.1 に rbenv で Ruby 3.1.3 をインストールする

Posted at

今後、 Ruby を使うことになりそうなので、ローカルPCに Ruby を rbenv でインストールしようとしたら

BUILD FAILED (macOS 12.5.1 using ruby-build 20221124)

でつまづいた。
対応策ふくめてインストール方法をメモしておく。

環境

  • MacOS 12.5.1
  • anyenv 1.1.5

インストール手順

1. anyenv で rbenv をインストールする

anyenv でコマンドを叩いていく。

# rbenv があるのを確認
$ anyenv install -l
  Renv
  crenv
  denv
  erlenv
  exenv
  goenv
  hsenv
  jenv
  jlenv
  kubectlenv
  luaenv
  nodenv
  phpenv
  plenv
  pyenv
  rbenv
  sbtenv
  scalaenv
  swiftenv
  tfenv

# インストール
$ anyenv install rbenv

# とくに問題なく、完了のログが出た
Install rbenv succeeded!
Please reload your profile (exec $SHELL -l) or open a new session.

# 指示通り実行しておく
$ exec $SHELL -l

anyenv で管理対象になっていることも確認。

$ anyenv versions
rbenv:
* system

rbenv コマンドも特に問題なく利用可能。

$ rbenv --version
rbenv 1.2.0-48-g6717c62

2. rbenv で Ruby 3.1.3 をインストールする

まずはインストール可能な Ruby のバージョンを確認。

# 2022/11末時点ではこんな感じ
$ rbenv install -l
2.7.7
3.0.5
3.1.3
jruby-9.4.0.0
mruby-3.1.0
picoruby-3.0.0
rbx-5.0
truffleruby-22.3.0
truffleruby+graalvm-22.3.0

Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all / -L' to show all local versions.

Ruby の公式サイトによると、現在の安定版が 3.1.3 とのこと。

rbenv にもある 3.1.3 をインストールする。

$ rbenv install 3.1.3
To follow progress, use 'tail -f /var/folders/6s/0yy4pb1x0rxdr8sx4xpd6z7w0000gn/T/ruby-build.20221128145329.16916.log' or pass --verbose
Downloading ruby-3.1.3.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.3.tar.gz
Installing ruby-3.1.3...
ruby-build: using readline from homebrew
ruby-build: using gmp from homebrew

BUILD FAILED (macOS 12.5.1 using ruby-build 20221124)

Inspect or clean up the working tree at /var/folders/6s/0yy4pb1x0rxdr8sx4xpd6z7w0000gn/T/ruby-build.20221128145329.16916.liTHzF
Results logged to /var/folders/6s/0yy4pb1x0rxdr8sx4xpd6z7w0000gn/T/ruby-build.20221128145329.16916.log

Last 10 log lines:
	from /private/var/folders/6s/0yy4pb1x0rxdr8sx4xpd6z7w0000gn/T/ruby-build.20221128145329.16916.liTHzF/ruby-3.1.3/lib/fileutils.rb:219:in `block in mkdir_p'
	from /private/var/folders/6s/0yy4pb1x0rxdr8sx4xpd6z7w0000gn/T/ruby-build.20221128145329.16916.liTHzF/ruby-3.1.3/lib/fileutils.rb:211:in `each'
	from /private/var/folders/6s/0yy4pb1x0rxdr8sx4xpd6z7w0000gn/T/ruby-build.20221128145329.16916.liTHzF/ruby-3.1.3/lib/fileutils.rb:211:in `mkdir_p'
	from ./tool/rbinstall.rb:218:in `makedirs'
	from ./tool/rbinstall.rb:331:in `prepare'
	from ./tool/rbinstall.rb:432:in `block in <main>'
	from ./tool/rbinstall.rb:1116:in `block in <main>'
	from ./tool/rbinstall.rb:1113:in `each'
	from ./tool/rbinstall.rb:1113:in `<main>'
make: *** [do-install-all] Error 1
$ 

失敗した。
ログを末尾から遡って確認すると、以下のエラー行にたどり着いた。

/private/var/folders/6s/0yy4pb1x0rxdr8sx4xpd6z7w0000gn/T/ruby-build.20221128145329.16916.liTHzF/ruby-3.1.3/lib/fileutils.rb:240:in `mkdir': Permission denied @ dir_s_mkdir - /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/Users (Errno::EACCES)

Permission denied @ dir_s_mkdir - /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/Users (Errno::EACCES) ということは、権限の問題と思われる。

検索してみると、同じところでつまづいている方がいて、権限付与するとうまくいくとあった。

見習って、以下のコマンドを実行。

$ sudo chown $(whoami) /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk

権限付与した状態で再実行すると、今度はうまく行った。

$ rbenv install 3.1.3
To follow progress, use 'tail -f /var/folders/6s/0yy4pb1x0rxdr8sx4xpd6z7w0000gn/T/ruby-build.20221128150337.44253.log' or pass --verbose
Downloading ruby-3.1.3.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.3.tar.gz
Installing ruby-3.1.3...
ruby-build: using readline from homebrew
ruby-build: using gmp from homebrew
Installed ruby-3.1.3 to /Users/origer/.anyenv/envs/rbenv/versions/3.1.3


NOTE: to activate this Ruby version as the new default, run: rbenv global 3.1.3

3. インストールした Ruby 3.1.3 を利用する

特定のディレクトリだけ、とかではなく、全般的に Ruby 3.1.3 を使う形にしたかったので、以下のコマンドを実行。

$ rbenv global 3.1.3

# 再ログインもしておく
$ exec $SHELL -l

# ruby が 3.1.3 になっていることを確認
$ ruby --version
ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-darwin21]

おまけ

インストール手順でつまづいたとき、 以下のサイトも参考にした。(今回のエラーには効果がなかったが)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0