问题
I'm having the exact issue as described in this question: MYSQL Installation Troubles. Unfortunately none of the answers helped me (and it's closed).
I try to learn Ruby on Rails and don't get MySQL working (so it is programming related).
I typed: rake db:create
and got:
!!!The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
no such file to load -- mysql
(See full trace by running task with --trace)
HD-Auckland:shoutbox max$ gem install mysql
WARNING: Installing to ~/.gem since /Library/Ruby/Gems/1.8 and
/usr/bin aren't both writable.
WARNING: You don't have /Users/max/.gem/ruby/1.8/bin in your PATH,
gem executables will not run.
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Gem files will remain installed in /Users/max/.gem/ruby/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /Users/max/.gem/ruby/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out
So as it told me I tried sudo gem install mysql
and got:
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
/opt/local/bin/ruby extconf.rb
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/opt/local/bin/ruby
--with-mysql-config
--without-mysql-config
--with-mysql-dir
--without-mysql-dir
--with-mysql-include
--without-mysql-include=${mysql-dir}/include
--with-mysql-lib
--without-mysql-lib=${mysql-dir}/lib
--with-mysqlclientlib
--without-mysqlclientlib
--with-mlib
--without-mlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-zlib
--without-zlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-socketlib
--without-socketlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-nsllib
--without-nsllib
--with-mysqlclientlib
--without-mysqlclientlib
--with-mygcclib
--without-mygcclib
--with-mysqlclientlib
--without-mysqlclientlib
Gem files will remain installed in /opt/local/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.
Results logged to /opt/local/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out
I also tried this command sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
and got the same error!
What can I do? I only want to migrate my db to the MySQL server!
Thanks for help, Mexx
Update:
Hey guys thx for all the great response! Yes Im on Snow Leopard. I downloaded mysql from here http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg and installed it. I then followed Hivelogic's guide for the mysql installation.
when I now type: sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
or sudo gem istall mysql
or sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql
I will get:
Building native extensions. This could take a while...
fotoSuccessfully installed mysql-2.8.1
1 gem installed
Installing ri documentation for mysql-2.8.1...
No definition for next_result
No definition for field_name
No definition for field_table
No definition for field_def
No definition for field_type
No definition for field_length
No definition for field_max_length
No definition for field_flags
No definition for field_decimals
No definition for time_inspect
No definition for time_to_s
No definition for time_get_year
No definition for time_get_month
No definition for time_get_day
No definition for time_get_hour
No definition for time_get_minute
No definition for time_get_second
No definition for time_get_neg
No definition for time_get_second_part
No definition for time_set_year
No definition for time_set_month
No definition for time_set_day
No definition for time_set_hour
No definition for time_set_minute
No definition for time_set_second
No definition for time_set_neg
No definition for time_set_second_part
No definition for time_equal
No definition for error_errno
No definition for error_sqlstate
Installing RDoc documentation for mysql-2.8.1...
No definition for next_result
No definition for field_name
No definition for field_table
No definition for field_def
No definition for field_type
No definition for field_length
No definition for field_max_length
No definition for field_flags
No definition for field_decimals
No definition for time_inspect
No definition for time_to_s
No definition for time_get_year
No definition for time_get_month
No definition for time_get_day
No definition for time_get_hour
No definition for time_get_minute
No definition for time_get_second
No definition for time_get_neg
No definition for time_get_second_part
No definition for time_set_year
No definition for time_set_month
No definition for time_set_day
No definition for time_set_hour
No definition for time_set_minute
No definition for time_set_second
No definition for time_set_neg
No definition for time_set_second_part
No definition for time_equal
No definition for error_errno
No definition for error_sqlstate
And doing rake db:create
will end up with:
(in /Users/max/rails/shoutbox)
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
no such file to load -- mysql
(See full trace by running task with --trace)
回答1:
for some reason (maybe because i'm using rubygems 1.3.7 or installing mysql-2.8.1)
sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
did not work for me so after taking a look at gems/mysql-2.8.1/ext/mysql_api/extconf.rb i found out that the extconf.rb looks in the PATH for mysql_config so i tried
export PATH=$PATH:/usr/local/mysql/bin
sudo gem install mysql
and did the job
回答2:
Are you on snow leopard? You have to execute the C dependencies compiles with x64 headers, try:
sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
回答3:
I have run into issues with the MySQL gem myself and these are the only 2 links I actually bookmarked, so one of should have actually worked for me. Thought I'd share.
- http://wonko.com/post/how-to-install-the-mysqlruby-gem-on-mac-os-x-leopard
- http://rapd.wordpress.com/2007/05/17/battle-against-ror-gem-install-mysql/
The second one is kind of old, so not sure if it still applies.
回答4:
In order to install the MySQL gem on OS X, you need to install the XCode developer tools that come on your installation disk. You can also download them from http://developer.apple.com.
回答5:
I just end up with that problem using this command:
sudo env ARCHFLAGS="-arch i386" gem install --no-rdoc --no-ri mysql -v 2.8.1 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
Indeed I needed to install mysql gem version 2.8.1 on my mac OS X Leopard 10.5.8 running the mysql-5.6.2-m5-osx10.5-x86 from dmg file. I had the issue that it couldn't find libraries and I made some manipulations, then it couldn't install because of permissions. I found out that command, added the version I needed and changed architecture to the one corresponding to my mysql installation.
So if somenone still wants to install that version :) let's try ! But we are not a lot installing this probably, and less on Leopard!
回答6:
The correct gem to use is mysql2
.
回答7:
I had the same problem. I solved installing first the adapter:
gem install activerecord-mysql2-adapter
Then, install mysql2 gem using
sudo gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
来源:https://stackoverflow.com/questions/2014765/unable-to-install-mysql-on-mac-os-x