1

我在 Mac OS X Lion 环境中随 RVM 一起安装了 Ruby 和 Rails。

我使 Rails 与 mysql2 gem 一起正常工作(使用 MAMP 库而不是 mysql 安装)。所以一切都很好...

直到我尝试编写一个独立的 ruby​​ 脚本(在 Rails 上下文之外)。现在我无法让 mysql2 gem 工作。

从脚本内部或 Ruby 命令行 (irb) 中,

require "mysql2"

指令导致以下错误:

1.9.2p290 :001 > require "mysql2"
dyld: lazy symbol binding failed: Symbol not found: _mysql_get_client_info
  Referenced from: /Users/mick/.rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle
  Expected in: flat namespace

dyld: Symbol not found: _mysql_get_client_info
  Referenced from: /Users/mick/.rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle
  Expected in: flat namespace

我尝试了几件事:

  • export DYLD_LIBRARY_PATH=/Applications/MAMP/Library/lib/mysql/:$DYLD_LIBRARY_PATH

  • 使用sudo ln -s /Applications/MAMP/Library/lib/mysql/libmysqlclient.16.dylib /usr/lib/libmysqlclient.16.dylib

没有任何效果。我想我很快就要哭了……

4

1 回答 1

11

奇怪的是,这件事就发生在今天和一位同事身上。这是我为修复它所做的:

gem uninstall mysql2
brew install mysql
gem install mysql2

就这么简单。希望它也对你有用!

于 2012-04-19T18:40:06.480 回答