views:

226

answers:

3

When I try rake db:migrate, I get the following error: !!! 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

And when I try to "gem install mysql"

Building native extensions. This could take a while... ERROR: Error installing mysql: ERROR: Failed to build gem native extension. /usr/bin/ruby extconf.rb Can't find header files for ruby. Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.

I checked the rubygems folder and mysql gem has been installed. Any ideas? Cheers

+1  A: 

The gem hasn't actually been installed. You are missing either the ruby development files, mysql developer files, or linux build essentials. Since you are asking, I'll assume you are on a linux distribution with a package manager; install the corresponding packages.

phantombrain
+1  A: 

This should sort it out on Ubuntu:

sudo aptitude install libmysqlclient-dev build-essential

Then install the gem again. You may need to delete the /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 folder if it craps out.

I hope that helps.

Mike Williamson
A: 

As Sleepycat suggested, most probably you need the dev libraries for MySQL.

On Fedora / CentOS this should solve your problem:

yum install mysql-devel
gem install mysql
Stanislav