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

标签 mysql ruby-on-rails macos rubygems xampp

我在我的 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/

相关文章:

ruby-on-rails - 如何使remove_column可逆?

html - 如何添加 "link_to ' 返回搜索结果'"feature Rails

macos - 使 SQLite3 命令文件可执行

php - 控制单击“赞”按钮后在 Facebook 个人资料中显示的屏幕截图和标题

php - mysql 查询 wp_post 列表和类别和日期

javascript - 使用 Yarn on Rails 安装 Modernizr

Mac OS 上的 git 命令行错误 "dyld: Symbol not found: ___strlcpy_chk"

macos - matlab 上的 winopen for mac

python - 加速 python 运行多个 mysql 查询

mysql - 我可以拥有一个自动从同一数据库中的 2 个或更多表获取数据的 MYSQL 表吗?