我在我的 Mac 机器 (10.6.4) 上通过 XAMPP 运行 mysql 和 apache。我通常使用此设置进行 PHP 开发,但
现在我想从 Ruby on Rails 着手。
不幸的是,我无法让 mysql 与 RoR 一起工作。我用 XAMPP 启动 mysql 服务器,当我执行“rake db:migrate”时,我得到以下输出:
!!! 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
mysql 位于/Applications/XAMPP/xamppfiles/bin 而 mysql SOCKET 位于/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
因此我的 database.yml 文件看起来像这个:
development:
adapter: mysql
database: dbname
username: dbuser
password: dbpw
socket: /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
我认为我不需要执行“gem install mysql”,因为 mysql 已经与 XAMPP 一起运行。不管怎样,我试过了,但也失败了:
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
最佳答案
您需要告诉 gem 安装程序您使用 XAMPP 安装的 mysql 文件的路径
sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-dir=/Applications/XAMPP/xamppfiles/lib/mysql --with-mysql-lib=/Applications/XAMPP/xamppfiles/lib/mysql/ --with-mysql-include=/Applications/XAMPP/xamppfiles/include/mysql/
同时将正确的套接字添加到您的 database.yml 中:
development:
adapter: mysql2
encoding: utf8
database: your_db
pool: 5
username: root
password:
socket: /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
之后,再次在 rails 项目中运行 bundle
,它应该可以工作了。
关于mysql - 如何让 XAMPP 的 MySQL 和 Ruby on Rails 在我的 Mac 上协同工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3487105/