2011-08-21 63 views
3

我想使用rails 3.1.0.rc6的mysql2 gem,但是我的mysql客戶端有問題。爲特定的mysql客戶端版本安裝mysql2 gem?

我在嘗試啓動我的服務器時收到此消息。

Incorrect MySQL client library version! This gem was compiled for 5.1.53 but the client library is 5.5.14. (RuntimeError)

如何編譯/安裝mysql2,以便可以使用mysql 5.5.14?

我試過用gem pristine mysql2沒有成功。

回答

12

這裏的問題是MySQL2 gem是由Apple(開發包)安裝的MySQL版本編譯的,而不是由我使用Homebrew編譯的。

安裝gem時使用此命令解決了問題。

gem install mysql2 -- --with-mysql-config=/usr/local/Cellar/mysql/5.5.14/bin/mysql_config

不要忘記使用安裝mysql:

sudo brew install mysql

現在的問題是,我們莫名其妙地需要通過選項打捆,這樣做,你可以使用bundler config

bundle config build.mysql2 --with-mysql-config=/usr/local/Cellar/mysql/5.5.14/bin/mysql_config

在Ruby應用程序現在應該工作運行bundle install

+1

捆綁配置命令沒有爲我工作(brew mysql沒有安裝所以安裝替代版本)獅子。 gem pristine mysql2實際上以某種方式解決了它! :) –

+0

這個答案適用於我,但我必須執行一個額外的步驟沒有在答案中提到。當我試圖做'brew install mysql'時,出現如下錯誤:錯誤:mysql-5.5.19已經安裝 要安裝這個版本,首先'brew unlink mysql'',所以我運行了這個:'brew unlink mysql' 'brew install mysql',然後答案中的其餘步驟工作並解決了我的問題。 – Livi17