困っていたこと
- 次のように
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
に環境変数などを追記してみる
-
こちらのgistが大変参考になりました
-
次のコマンドを実行してCommandLineToolsの再インストールとrbenv関連ツールをインストール
$ 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
を指定してみる
- こちらのIssueなど見ていてopensslのバージョン周りが怪しそうだったので次のように
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
が成功するようになりました!- 誰かの参考になれば幸いです