環境構築中に、bundle install
をした後にmimemagic
というものに関するエラーが発生しました。初めてみるエラーだったので、メモに残そうと思います。
まだ、初学者なので間違っていたら教えていただければ幸いです。
設定したいバージョン(mac環境)
Ruby 2.6.4
Rails 5.2.3以降
エラーが発生するまでの流れ
- Ruby 2.6.4をインストール
- Rails 5.2.8をインストール
- rails -vを実行後に以下のエラー文が発生
Could not find rails-5.2.3
Run `bundle install` to install missing gems.
文章に従い、bundle install
を実行しましたが、またもやエラー文が発生。今回はこのエラーを解決していきます。
解決したいエラー
bundle install
実行後に発生したエラー文はこちらです。
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
An error occurred while installing mimemagic (0.3.10), and Bundler cannot continue. Make sure that `gem install mimemagic -v ‘0.3.10’ –source ‘https://rubygems.org/’` succeeds before bundling.
In Gemfile:
rails was resolved to 5.2.3, which depends on
activestorage was resolved to 5.2.3, which depends on
marcel was resolved to 0.3.3, which depends on
mimemagic
簡単に要約すると、「mimemagic -v ‘0.3.10’をインストール時にエラーが発生したので、bundlerを続けることができません。」ということみたいです。
エラーの原因
いろいろと調べてみたところ、ライセンス問題が原因のようです。
今回だと、GPL-2.0のライセンス問題により、「mimemagic gem」が「rubygems.org」から取り下げられてしまったみたいです。そうすると「mimemagic」は使えなくなってしまいますよね。
よって、mimemagic <= 0.3.5
に依存しているRailsアプリがbundle install
に失敗するためエラーが発生しました。
つまり、「mimemagic」がライセンス問題で無くなってしまったことが原因であるならば、ライセンス問題をクリアした「mimemagic」をインストールすれば解決できるはずです。
それでは、次の章で解決法を説明します。
エラーの原因で参考にした記事はこちらです。
エラーの解決法
解決法はとても簡単で、ターミナルで以下の2つのコマンドを打てば終わりです。
brew install shared-mime-info
まず、上のコマンドを打つことで、新しくライセンスし直した、mimemagic
がインストールされます。
bundle install
そして、bundle install
すれば解決です!これで、rails -v
をしてもエラー文は出なくなりました。
まとめ
今回は、ライセンス問題によるエラーでした。ライセンス問題によるエラーはこれまでにも何回か遭遇してきたので、これからも慌てず調べて行こうと思います。
この記事が参考になれば幸いです。
最後まで読んでいただきありがとうございます。