Ruby
MySQL
RubyOnRails

Ruby on RailsでMySQLを使おうと思ったらエラー発生!

More than 1 year has passed since last update.

現象

Railsで新規プロジェクトを作成するときに、DBをMySQL指定したところエラーが発生した。

実行コマンド
rails new schedule -d mysql

エラーはこんな感じ

2 warnings generated.
linking shared-object mysql2/mysql2.bundle
ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [mysql2.bundle] Error 1

Gem files will remain installed in /var/folders/31/rzft9l6s2cv9v44kjfsbslzm0000gn/T/bundler20171004-27749-ft0ms1/mysql2-0.4.9/gems/m
ysql2-0.4.9 for inspection.
Results logged to /var/folders/31/rzft9l6s2cv9v44kjfsbslzm0000gn/T/bundler20171004-27749-ft0ms1/mysql2-0.4.9/gems/mysql2-0.4.9/ext/m
ysql2/gem_make.out
An error occurred while installing mysql2 (0.4.9), and Bundler cannot continue.
Make sure that gem install mysql2 -v '0.4.9' succeeds before bundling.

gemでmysql2をインストールすればいいの?と思い、インストールしたがまだ同じエラーが出てくる。おいおいおい・・・(天の声:もっとちゃんとエラー文読みな?)

ライブラリが見つからないエラーが出てるので多分ここが原因

ld: library not found for -lssl

調べて見ると、同じようなエラーになったという記事を見つけた。

macOS Sierra で mysql2 の bundle install に失敗する場合

解決方法はいくつかあるようだが、Xcode Command Line Toolsの最新版であれば問題ないようなので今回はxcode-selectをインストールします。

インストール後に再度Railsの新規プロジェクトを作成すると見事作成に成功しました!

環境


MacBook Pro
macOX Sierra 10.12.6
Rails 3.2.21
MySQL 5.7.18