1

Mac OS X Lion 環境に RVM と共に Ruby と Rails をインストールしました。

Rails が mysql2 gem で適切に動作するようにしました (mysql インストールではなく MAMP ライブラリを使用)。だから、すべてが大丈夫だった...

スタンドアロンの 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 に答える