0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

bundle installでmysql2のエラーが出たときに見る解決法

Last updated at Posted at 2020-03-25

bundle installエラーが出た際、解決まで結構時間がかかってしまったので、まとめて置こうと思います。

#エラー内容

実行コマンド
bundle install
//エラー
An error occurred while installing mysql2 (0.5.3), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.5.3' --source 'https://rubygems.org/'` succeeds before bundling.
実行コマンド
bundle install
//エラー
Could not find gem 'sass-rails (>= 6)' in any of the gem sources listed in your Gemfile.
Run `bundle install` to install missing gems.

#原因
見てみるとどうやらlsslが見つけられないのが原因らしい。
エラーの内容の中にこのエラーがある人はこの記事の方法が役に立つかもしれません。
lsslが見つからないということらしい。

エラー原因
ld: library not found for -lssl

####そもそもldってなに?
ldとは、GNUリンカーと呼ばれるコマンドで、コンパイルされたオブジェクトファイルから実行可能ファイル( またはライブラリ)を作成することができるものです。

####続いて-lsslってなに?
mysql2 gemインストール時にldコマンドに与えられたオプションの一つで、libssl.dylibをライブラリ検索範囲から探してねって言うことらしいです。

#解決
以下のコマンドを実行

実行コマンド
bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib"

###実行コマンドの意味
実行コマンドが意味不明だったため、後で見てもわかるようにまとめておきます。

  • bundle config
    設定システムを編集します。

  • --local build.mysql2
    ローカルでmysql2をビルドした際に以下の通りビルドしてください。

  • --with-ldflags=-L/usr/local/opt/openssl/lib
    ビルドする際は以下を参照してください。
    参照先は-L/usr/local/opt/openssl/libです。

###「今後ローカルでmysql2をインストールする場合は/usr/local/opt/openssl/libの場所を参照してくださいね」
って感じですかね。

#参考記事
ありがとうございました!

【Rails】MySQL2がbundle installできない時の対応方法
mysql2 gemインストール時のトラブルシュート
Ruby STUDIO

0
1
0

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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?