rails mysql2 mac_issue in installing mysql2 gem with rails3 on mac

问题

Installing mysql2 (0.2.6) with native extensions /Library/Ruby/Site/1.8/rubygems/installer.rb:483:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb

mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework /Versions/1.8/usr/lib/ruby/ruby.h

Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6 for inspection.

Results logged to /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/ext/mysql2/gem_make.out

from /Library/Ruby/Site/1.8/rubygems/installer.rb:446:in `each'

from /Library/Ruby/Site/1.8/rubygems/installer.rb:446:in `build_extensions'

from /Library/Ruby/Site/1.8/rubygems/installer.rb:198:in `install'

from /Library/Ruby/Gems/1.8/gems/bundler-1.0.10/lib/bundler/source.rb:96:in `install'

from /Library/Ruby/Gems/1.8/gems/bundler-1.0.10/lib/bundler/installer.rb:55:in `run'

from /Library/Ruby/Gems/1.8/gems/bundler-1.0.10/lib/bundler/spec_set.rb:12:in `each'

from /Library/Ruby/Gems/1.8/gems/bundler-1.0.10/lib/bundler/spec_set.rb:12:in `each'

from /Library/Ruby/Gems/1.8/gems/bundler-1.0.10/lib/bundler/installer.rb:44:in `run'

from /Library/Ruby/Gems/1.8/gems/bundler-1.0.10/lib/bundler/installer.rb:8:in `install'

from /Library/Ruby/Gems/1.8/gems/bundler-1.0.10/lib/bundler/cli.rb:226:in `install'

from /Library/Ruby/Gems/1.8/gems/bundler-1.0.10/lib/bundler/vendor/thor/task.rb:22:in `send'

from /Library/Ruby/Gems/1.8/gems/bundler-1.0.10/lib/bundler/vendor/thor/task.rb:22:in `run'

from /Library/Ruby/Gems/1.8/gems/bundler-1.0.10/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'

from /Library/Ruby/Gems/1.8/gems/bundler-1.0.10/lib/bundler/vendor/thor.rb:246:in `dispatch'

from /Library/Ruby/Gems/1.8/gems/bundler-1.0.10/lib/bundler/vendor/thor/base.rb:389:in `start'

from /Library/Ruby/Gems/1.8/gems/bundler-1.0.10/bin/bundle:13

from /usr/bin/bundle:19:in `load'

from /usr/bin/bundle:19

EDIT

Mohit-Jains-MacBook-Pro:casecreed mohit$ locate mysql_config

/Applications/XAMPP/xamppfiles/bin/mysql_config

/usr/local/mysql-5.5.9-osx10.6-x86_64/bin/mysql_config

/usr/local/mysql-5.5.9-osx10.6-x86_64/man/man1/mysql_config.1

and after doing what u suggested...

ie

sudo gem install mysql2 -- –with-mysql-config=/usr/local/mysql-5.5.9-osx10.6-x86_64/bin/mysql_config

here is the error..

Mohit-Jains-MacBook-Pro:casecreed mohit$ rake db:create

(in /Users/mohit/projects/casecreed)

rake aborted!

dlopen(/Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.16.dylib

Referenced from: /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle

Reason: image not found - /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle

/Users/mohit/projects/casecreed/Rakefile:4

(See full trace by running task with --trace

EDIT2

screenshot of whole process after answer was modified..

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Couldn't create database for {"reconnect"=>false, "encoding"=>"utf8", "username"=>"root", "adapter"=>"mysql2", "database"=>"the_casecreed_test", "host"=>"localhost", "pool"=>5, "password"=>nil}, charset: utf8, collation: utf8_unicode_ci

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Couldn't create database for {"reconnect"=>false, "encoding"=>"utf8", "username"=>"root", "adapter"=>"mysql2", "database"=>"the_casecreed_development", "host"=>"localhost", "pool"=>5, "password"=>nil}, charset: utf8, collation: utf8_unicode_ci

EDIT3

development.yml

EDIT4

Even not able to connect to mysql.

Check this screenshot.

EDIT5

This is the solution but i am not able to understand, why mysql server was not starting..

Screenshot

回答1:

Try the following, which seems to have worked for others:

From the Terminal, run locate mysql_config and identify the path to the mysql_config binary

Use that path in the following command to install the gem:sudo gem install mysql2 -- –with-mysql-config=/path/you/identified/above/mysql_config

[Edit]

In response to the new error, e.g.:

Mohit-Jains-MacBook-Pro:casecreed mohit$ rake db:create

(in /Users/mohit/projects/casecreed)

rake aborted!

dlopen(/Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.16.dylib

Referenced from: /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle

Reason: image not found - /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle

/Users/mohit/projects/casecreed/Rakefile:4

(See full trace by running task with --trace

I believe this is due to mysql2 not using the full path to libmysqlclient.16.dylib. Others have had luck with:

sudo install_name_tool -change libmysqlclient.16.dylib /usr/local/mysql/lib/libmysqlclient.16.dylib /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle

However, be sure to replace /usr/local/mysql/lib/libmysqlclient.16.dylib with the path to your own libmysqlclient.16.dylib. I'm not positive what it would be, but you may be able to find it with locate (if not, check around in the lib directory for /usr/local/mysql-5.5.9-osx10.6-x86_64).

回答2:

download 64 bit from here and then try to install mysql2 gem

http://dev.mysql.com/downloads/mysql/

it will work..

回答3:

Try installing mysql from macports

sudo ports install mysql5

It took ages to complete, but once done run

gem install mysql2

and everything should work just fine

来源:https://stackoverflow.com/questions/5024353/issue-in-installing-mysql2-gem-with-rails3-on-mac

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值