scaffold や rake db:create 時に以下のようなエラーが出ます。
mysql.h is missing. please check your installation of mysql and try again.
■バージョン
-----------------------------------------
$ rpm -qa | grep centos-release
centos-release-notes-5.7-0
centos-release-5-7.el5.centos
$ ruby -v
ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-linux]
$ gem -v
1.3.7
$ rails -v
Rails 3.0.9
-----------------------------------------
bundle installでエラー
-----------------------------------------
$ rails new demo -d mysql
$ cd demo
$ bundle install
Fetching source index for http://rubygems.org/
Could not find gem 'mysql-ruby (>= 0) ruby' in any of the gem sources listed in your Gemfile.
-----------------------------------------
以下のようにしてbundle installは成功するようになりましたが、
-----------------------------------------
$ vi Gemfile
gem 'ruby-mysql'
$ vi config/database.yml
production:
host: 127.0.0.1 追記
または
$ sudo gem install ruby-mysql
Successfully installed ruby-mysql-2.9.4
1 gem installed
(略)
$ vi Gemfile
gem 'ruby-mysql'
-----------------------------------------
今度はscaffoldでエラーとなります。
対処方法をお願いします。
最初のエラーではmysql.hがみつかってないようですが、mysql.hが存在していないということはないでしょうか。存在していない場合は、yum install mysql-develなどでインストールできるかと思います。
また、Rails3からはmysqlのgemがruby-mysqlからmysql2に変更になったかと思うので、それが原因かもしれません。
以下のサイトが参考になるかと思います。
http://d.hatena.ne.jp/deadlight/20100906
ちなみにmysql.hは/usr/include/mysql直下に存在しているのでしょうか?
2011/11/17 23:03:56ご指摘のとおり、やはりmysql-develの問題のようです。
2011/11/17 23:58:42mysqlのバージョンをmysql-develも含め、5.0系で揃えるように変更したいと思います。
明日実施の予定です。