エラー - mysql2:: error




macOS Sierraにmysql2 gemをインストールできない (5)

bluによってopensslをインストールすると、次のメッセージが表示されます。

Appleは独自のTLSと暗号ライブラリを利用してOpenSSLの使用を非難しました

一般的に、これには何の影響もありません。 独自のソフトウェアをビルドし、この数式が必要な場合は、ビルド変数に追加する必要があります。

LDFLAGS:-L / usr / local / opt / openssl / lib
CPPFLAGS:-I / usr / local / opt / openssl / include
PKG_CONFIG_PATH:/ usr / local / opt / openssl / lib / pkgconfig

次のコマンドを実行して、これらのビルドフラグ(ローカルアプリケーション用)を設定できます。

bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include"

これは私のために働いた。

詳細については、 bundlerのドキュメントを参照してください。

私は新しいmacOS Sierraで自分の開発環境をセットアップしています。

まず、 RbenvRuby(2.3.1)Homebrew 、そしてMySQLの最新バージョン(5.7.15)をインストールしました

$ brew install mysql
$ mysql.server start

さて、MySQLは初期化されました。 mysql2 gemをインストールする時間...

$ gem install mysql2 -- --with-mysql-config=/usr/local/Cellar/mysql/5.7.15/bin/mysql_config

しかし、それは動作しませんでした。 😞

Building native extensions with: '--with-mysql-config=/usr/local/Cellar/mysql/5.7.15/bin/mysql_config'
This could take a while...
ERROR:  Error installing mysql2:
    ERROR: Failed to build gem native extension.

    current directory: /Users/macuser/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/mysql2-0.4.4/ext/mysql2
/Users/macuser/.rbenv/versions/2.3.1/bin/ruby -r ./siteconf20160921-16853-x1boio.rb extconf.rb --with-mysql-config=/usr/local/Cellar/mysql/5.7.15/bin/mysql_config
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... no
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
-----
Using mysql_config at /usr/local/Cellar/mysql/5.7.15/bin/mysql_config
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
-----
Dont know how to set rpath on your system, if MySQL libraries are not in path mysql2 may not load
-----
-----
Setting libpath to /usr/local/Cellar/mysql/5.7.15/lib
-----
creating Makefile

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /Users/macuser/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-16/2.3.0-static/mysql2-0.4.4/mkmf.log

current directory: /Users/macuser/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/mysql2-0.4.4/ext/mysql2
make "DESTDIR=" clean

current directory: /Users/macuser/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/mysql2-0.4.4/ext/mysql2
make "DESTDIR="
compiling client.c
compiling infile.c
compiling mysql2_ext.c
compiling result.c
compiling statement.c
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

make failed, exit code 2

Gem files will remain installed in /Users/macuser/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/mysql2-0.4.4 for inspection.
Results logged to /Users/macuser/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-16/2.3.0-static/mysql2-0.4.4/gem_make.out

私はちょうど同じ問題を抱えていましたが、上に挙げたすべてのソリューションを試してから、数時間キーボードを頭に押し当て始めました。

私はXcodeコマンドラインツールをインストールして再インストールしようと考えました:

xcode-select --install

一度私はmysql2 gemがインストールされていれば問題はありません。 私はそのトリックを願っています!


私は他の答えがうまくいかなかったので私の修正を分かち合うためにここにいます。

私の環境では、MySQL 5.6が必要です。

brew install mysql56 brew install mysql代わりにbrew install mysql56brew install mysql

mysql2 gemをインストールしているバンドルは、次のようになるまで失敗しました。

brew link mysql56

私はまた走った。

mysql.server start

最後のステップは不要かもしれませんが、 まさにその場合です。


xcode-selectをインストールしてみてください--install


@Caio Tarifa、Ruby 2.3.3、mysql 5.6、mysql2とほぼ同じシナリオ。 上記の解決策のいくつかを試して、最後に@ kylekeeslingのアプローチで動作させるようにします。

まず、@spickermannによるソリューション1で試してみましょう:

brew reinstall openssl && brew link openssl --force

何も起こらなかった、同じエラーが示された。

第二に、@Alessandro Berardiが解決しようとした:

bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include"

これはGem拡張機能の設定を上書きするので、Gem拡張機能のインストールに失敗したため、異なるエラーが発生しました。

最後に、@kylekeeslingの解決策を試しました:

xcode-select --install

それはmysqlの宝石の問題だけでなく、nikogiriを修正します。 私はすでにXcodeを導入しているので、私の場合はXcodeコマンドラインツールを再インストールします。





macos-sierra