2016-11-03 27 views
0

安裝MySQL2寶石我試圖安裝mysql2創業板的Rails應用程序,但它給了,同時運行sudo gem install mysql2不能在Mac

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 

我安裝了通過BREW & 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的依賴項過期。

你必須運行:

brew update 

你可能也升級到OS X的塞拉利昂近期發佈。確保你的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