RVM安装的mysql2 gem可以正常使用Rails ......但不能使用独立的Ruby脚本

时间:2012-04-19 17:30:52

标签: ruby gem rvm mysql2

我在Mac OS X Lion环境中使用RVM安装了Ruby和Rails。

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

直到我尝试编写一个独立的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

没有任何效果。我想我很快就会哭...

1 个答案:

答案 0 :(得分:11)

奇怪的是,这发生在今天与同事发生的事情。以下是我为解决这个问题所做的工作:

gem uninstall mysql2
brew install mysql
gem install mysql2

就这么简单。希望它也适合你!