2016-11-03 2 views
0

에 MySQL2 보석을 설치하지만 내가 양조 & rbenv를 통해 레일을 설치 sudo gem install mysql2실패는 내가 레일 응용 프로그램에 대한 <code>mysql2</code> 보석을 설치하려고 해요 맥

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 

을 실행하는 동안 나에게 오류를 다음 수 있습니다.

루비 버전 : 버전은 아래에 언급 된 ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin16]

레일 버전 : Rails 4.2.6

MySQL 버젼 : mysql-5.7.16

답변

4

하는 터미널의 인스턴스를 위로 당기고 실행

brew doctor 

그것은이다 mysql gem을 빌드하기위한 하나 이상의 종속성이 오래되었을 가능성이 있습니다.

당신은 실행해야합니다 : 당신은 아마 최근 OS X의 시에라 릴리스로 업그레이드

brew update 

. XCode 명령 줄 도구가 최신 버전인지 확인하십시오. 실행

난 그냥 제거 MySQL이 :

여기
sudo xcodebuild -license 
0

은 위의 오류에 대한 내 솔루션입니다 :

xcode-select --install 

실행하여 엑스 코드의 새로운 버전에 대한 라이센스에 동의해야합니다 brew remove mysql을 실행하고 다음 명령을 실행하여 mysql2 gem sudo gem install mysql2을 설치하십시오. 그것은 나를 위해 일했습니다. 이 후, 나는 brew install mysql을 실행하여 mysql을 다시 설치했다.

p.s. 나는이 행동에 대해 모른다. 누구든지 설명 할 수 있다면 좋을 것입니다.

+0

mysql2 gem은 mysql c 드라이버의 래퍼입니다. – Sivalingam