LoginSignup
19
10

More than 1 year has passed since last update.

macOS BigSurで`rbenv install`が失敗する問題を解決した

Last updated at Posted at 2021-11-08

困っていたこと

  • 次のようにrbenv installで指定のバージョンのrubyをインストールしようとしても失敗してしまい、いろいろ試してみた備忘録として残しておこうと思います
  • 環境
    • macOS BigSur 11.6
    • rbenv 1.2.0
$ rbenv install 2.7.4             
Downloading openssl-1.1.1l.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1
Installing openssl-1.1.1l...
Installed openssl-1.1.1l to /Users/mikan3rd/.rbenv/versions/2.7.4

Downloading ruby-2.7.4.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.4.tar.bz2
Installing ruby-2.7.4...
ruby-build: using readline from homebrew

BUILD FAILED (macOS 11.6 using ruby-build 20211019)

Inspect or clean up the working tree at /var/folders/87/m36zhwq965962q0215n__39c0000gn/T/ruby-build.20211105234112.85765.uxhGSH
Results logged to /var/folders/87/m36zhwq965962q0215n__39c0000gn/T/ruby-build.20211105234112.85765.log

Last 10 log lines:
    ^
./include/ruby/ruby.h:59:35: note: expanded from macro 'UNREACHABLE_RETURN'
#  define UNREACHABLE_RETURN(val) return (val)
                                  ^
compiling vm_dump.c
1 warning and 1 error generated.
make: *** [vm.o] Error 1
make: *** Waiting for unfinished jobs....
1 warning generated.
1 warning generated.

1. Xcodeを再インストールしてみる

  • いくつか調べてみてXcodeの再インストールで直ったケースがあったようなので試してみました
    • もともとApp Store経由でのアップデートしようとしてもローディングで停止してしまう問題があり気になっていたので
  • 次で公式からダウンロードできます(先にXcode関連を消しておいた方が良いかも)
  • しかしエラーに変化はありませんでした

2. CommandLineToolsの再インストールと.zshに環境変数などを追記してみる

$ sudo rm -rf /Library/Developer/CommandLineTools
$ sudo xcode-select --install
$ brew install rbenv ruby-build openssl readline libyaml zlib
  • vi ~/.zshrcなどで.zshrcを次のように編集
    • source ~/.zshrc をお忘れなく
.zshrc
# rbenv
export CFLAGS="-Wno-error=implicit-function-declaration"
export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl) --with-readline-dir=$(brew --prefix readline) --with-libyaml-dir=$(brew --prefix libyaml) --with-zlib-dir=$(brew --prefix zlib)"

# Load rbenv
eval "$(rbenv init -)"
  • 次のようにエラー内容は少し変化したものの解決には至りませんでした
$ rbenv install 2.7.4
Downloading ruby-2.7.4.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.4.tar.bz2
Installing ruby-2.7.4...

BUILD FAILED (macOS 11.6 using ruby-build 20211019)

Inspect or clean up the working tree at /var/folders/87/m36zhwq965962q0215n__39c0000gn/T/ruby-build.20211106015135.30152.9UGSCU
Results logged to /var/folders/87/m36zhwq965962q0215n__39c0000gn/T/ruby-build.20211106015135.30152.log

Last 10 log lines:
RSA_SSLV23_PADDING
^
107 warnings and 1 error generated.
installing default openssl libraries
make[2]: *** [ossl_pkey_rsa.o] Error 1
make[2]: *** Waiting for unfinished jobs....
93 warnings generated.
4 warnings generated.
make[1]: *** [ext/openssl/all] Error 2
make: *** [build-ext] Error 2

3. openssl@1.1を指定してみる

$ brew install openssl@1.1
  • 前段で変更した.zshrcのうち、RUBY_CONFIGURE_OPTSを次のように変更します
    • source ~/.zshrc をお忘れなく
.zshrc
export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1) --with-readline-dir=$(brew --prefix readline) --with-libyaml-dir=$(brew --prefix libyaml) --with-zlib-dir=$(brew --prefix zlib)"
  • 自分の場合はこれでrbenv installが成功するようになりました!
    • 誰かの参考になれば幸いです
19
10
1

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
19
10