繁体   English   中英

如何让XAMPP的MySQL和Ruby on Rails在我的Mac上协同工作?

[英]How do I get XAMPP's MySQL and Ruby on Rails work together on my Mac?

我在我的Mac机器上运行XAMPP的mysql和apache(10.6.4)。 我通常使用此设置进行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 gem,因为它提供了与mysql交谈的必要文件。 它不会安装mysql数据库引擎。

至于为什么mysql gem无法安装,我唯一能想到的是权限问题,但我认为当你运行“gem install mysql”时会在输出中指出。 您可以尝试将--backtrace添加到install命令,以查看是否提供了有关失败原因的更多信息。

mysql gem不是mysql服务器,它是mysql api的ruby绑定。

对于安装问题,请查看这个问题 ,我认为正确的答案非常适合发生的事情: MySQL安装:错误:无法构建gem原生扩展

为此工作使用此:

sudo gem install mysql2 -- --with-mysql-config="/Applications/XAMPP/xamppfiles/bin/" --with-mysql-include="/Applications/XAMPP/xamppfiles/include/" --with-mysql-lib="/Applications/XAMPP/xamppfiles/lib/mysql/"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM