2016-11-03 17 views
0

にMySQL2の宝石をインストールするには、私は、レールアプリケーション用mysql2宝石をインストールしようとしているが、sudo gem install mysql2失敗マック

ERROR: Error installing mysql2: 
    ERROR: Failed to build gem native extension. 

    current directory: /Users/ateeq/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/mysql2-0.4.5/ext/mysql2 
/Users/ateeq/.rbenv/versions/2.3.1/bin/ruby -r ./siteconf20161103-83594-10ft58j.rb extconf.rb 
checking for rb_absint_size()... yes 
checking for rb_absint_singlebit_p()... yes 
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 
checking for rb_big_cmp()... yes 
----- 
Using mysql_config at /usr/local/bin/mysql_config 
----- 
checking for mysql.h... yes 
checking for SSL_MODE_DISABLED in mysql.h... yes 
checking for SSL_MODE_PREFERRED in mysql.h... yes 
checking for SSL_MODE_REQUIRED in mysql.h... yes 
checking for SSL_MODE_VERIFY_CA in mysql.h... yes 
checking for SSL_MODE_VERIFY_IDENTITY in mysql.h... yes 
checking for errmsg.h... yes 
checking for mysqld_error.h... yes 
----- 
Don't 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.16/lib 
----- 
creating Makefile 

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

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

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

current directory: /Users/ateeq/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/mysql2-0.4.5/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/ateeq/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/mysql2-0.4.5 for inspection. 
Results logged to /Users/ateeq/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-16/2.3.0-static/mysql2-0.4.5/gem_make.out 

を実行している間、それは私が醸造& rbenvを経由してレールを設置してくれ、次のエラーが発生します。バージョンは以下の通りである:

ルビーバージョン:ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin16]

Railsのバージョン:Rails 4.2.6

MySQLバージョン:mysql-5.7.16

答えて

4

ターミナルのインスタンスを引き上げ、実行します。

brew doctor 

にですがmysql gemをビルドするための1つ以上の依存関係が古くなっている可能性があります。

あなたは実行する必要があります:あなたはおそらく、最近OS Xのシエラリリースにアップグレード

brew update 

。 XCodeコマンドラインツールが最新のものであることを確認してください。ファイル名を指定して実行:

xcode-select --install 

あなたが実行してXCodeの新しいバージョンのライセンスを受け入れていることを確認してください:ここで

sudo xcodebuild -license 
0

は、上記のエラーのために私ソリューションです:

私だけアンインストールMySQLがbrew remove mysqlを実行し、次のコマンドを実行してmysql2 gem sudo gem install mysql2をインストールします。それは私のために働いた。その後、brew install mysqlを実行してmysqlを再インストールしました。

p.s.私はこの行動について知らない。誰かが説明できるなら、それはすばらしいだろう。

+0

mysql2 gemは、mysql cドライバのラッパーです。 – Sivalingam