起きたこと
pumaを5.6.5に上げてbundle install
をしたら以下のエラーが出て実行できなかった。(一部抜粋)
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
checking for BIO_read() in -lcrypto... *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options.
The compiler failed to generate an executable file. (RuntimeError)
An error occurred while installing puma (5.6.5), and Bundler cannot continue.
解決:xcodeをインストールする
xcodeをインストールしたら解決した。おそらくPCを替えてインストールするのを忘れていた。
xcode-select --install
詳細
「詳細はログに書いてるゼ!」と言われたので見た。
To see why this extension failed to compile, please check the mkmf.log which can be found here: /Users/kanazawa/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/extensions/arm64-darwin-20/3.1.0/puma-5.6.5/mkmf.log
以下のような記述があった。
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
エラー内容でぐぐってみると、以下の記事を見つけた。
「そういやPC替えてからxcodeインストールしたっけ・・・?」と思ってインストールした。するとbundle install
は成功した。