bundle installを行った際のエラー解決
本番環境で利用するアプリケーションサーバーにunicornを用いるため、それをgemを用いてインストールする際に起こったエラーとその解決方法を短いですが書いていきます。
gemfileに以下の内容を記述
group :production do gem "unicorn" end
% bundle install #実行結果 ~長文 An error occurred while installing kgio (2.11.3), and Bundler cannot continue. Make sure that `gem install kgio -v '2.11.3' --source 'https://rubygems.org/'` succeeds before bundling.
とりあえずgem install kgio -v '2.11.3' --source 'https://rubygems.org/を実行してみるが、実行結果に特に変わった内容はなかった。しかしその記述の中に、
To see why this extension failed to compile, please check the mkmf.log which can be found here: ~/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-20/2.6.0/kgio-2.11.3/mkmf.log
と記載されていたので、それを調べるために
% tail -f ~/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-20/2.6.0/kgio-2.11.3/mkmf.log #実行結果 /* begin */ 1: #include "ruby.h" 2: 3: int main(int argc, char **argv) 4: { 5: return 0; 6: } /* end */
となり、よくわからなかったので、tail -Fコマンドを用いて実行ログを常に確認できるようにしました。
コンソールタブを別にして開き % tail -F ~/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-20/2.6.0/kgio-2.11.3/mkmf.log #実行結果 ログが出力される状態となる 別のタブにて % bundle install
すると、tail -F ~/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-20/2.6.0/kgio-2.11.3/mkmf.logを実行したタブにて
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun checked program was:
エラー文を見つけられました。検索をかけるとxcodeのコマンドラインツールがインストールされていないことにより起きているとわかったので(macのアップデートを以前行っていたことが関係しているかもしれません)
% xcode-select --install % bundle install
これでgemのインストールが行えました。 今回は以上になります。