2017-01-02 9 views
3

I tried every solution similar to the question:エラー:mysql2のインストール中にエラーが発生しました:ERROR:gemネイティブ拡張をビルドできませんでした。マック10.12最近

に、私はUbuntuのからMacに移動し、私はシエラにMySQLの宝石をインストールしようとしていると私はルビー、Railsのは、MySQL、

をインストールした後でも、私はbrew install mysqlを入力し、それがために働きましたmysqlをダウンロードしてください。宝石ではありませんので、私の質問は似ていません。

私はこのmysql --version

を入力し、私はこのsudo gem install mysql2を入力して、このエラーを得た私は新しいアプリに

を構築するために、レールのためのmysql2宝石をインストールしようとしたmysql Ver 14.14 Distrib 5.7.16, for osx10.12 (x86_64) using EditLine wrapper

を得た:

Password: 
Building native extensions. This could take a while... 
ERROR: Error installing mysql2: 
ERROR: Failed to build gem native extension. 

current directory: /Users/mohammed.elias/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/mysql2-0.4.5/ext/mysql2 
/Users/mohammed.elias/.rbenv/versions/2.4.0/bin/ruby -r ./siteconf20170102-2045-18gcs95.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/mohammed.elias/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-16/2.4.0-static/mysql2-0.4.5/mkmf.log 

current directory:  /Users/mohammed.elias/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/mysql2-0.4.5/ext/mysql2 
make "DESTDIR=" clean 

current directory:  /Users/mohammed.elias/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.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/mohammed.elias/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/mysq l2-0.4.5 for inspection. 
Results logged to  /Users/mohammed.elias/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-16/2.4.0-static/mysql2-0.4.5/gem_make.out 
+0

[エラーインストールmysql2:宝石ネイティブ拡張を構築できませんでした](http://stackoverflow.com/questions/3608287/error-installing-mysql2-failed-to-build-gem-native-extension) – Ilya

+1

トレースから、ビルドシステムがmysqlヘッダーを見つけますが、OpenSSLからのsslファイルのロードに失敗することがわかります。このトピックの[githubに関する問題](https://github.com/brianmario/mysql2/issues/795)で提供されているソリューションを試すことができます。それが失敗すると、 'brew install openssl'を実行することで成功するかもしれません。 –

+0

Ruby 2.4.0を新しくインストールしたところで、宝石をインストールしただけでは何の価値がありますか?エラーログの内容 '/Users/mohammed.elias/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-16/2.4.0-static/mysql2-0.4。 5/mkmf.log'? – cobaltsoda

答えて

4

私の質問にお答えいただき、@Holgerに感謝します。ちょうどこの号をgithup 01で参照してください

1

新しくMacBook Pro SierraにMySQL2 gemをインストールするときもまったく同じ問題がありました。

あなただけMySQL2宝石の目的のバージョンを0.0.00を交換(以下が含まれるように環境変数を変更する必要があります。また

gem install mysql2 -v '0.0.00' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include 

、あなたの$PATHは、bashのプロファイルを使用してMySQLを設定する必要がありますbashが起動するたびに実行される設定のリストbashプロファイルはホームディレクトリのファイル名.bash_profileにあります。作成されていない場合は、コマンドnano .bash_profileを使ってテキストファイルを作成することができますあなたのホームディレクトリ(〜))。これをbashプロファイルに追加してください:

export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH" 

この行は、mysqlパスを含む上記のディレクトリをパスに追加します。 .bash_profileは、端末が最初にロードされたときにのみ実行されるため、端末を再起動するようにしてください。

1

何らかの理由でxcode-select --installを実行すると、私の問題が解決しました。

関連する問題