2011-05-28 61 views
0

新手到鐵軌這裏。我正在用rails(3.0.7),mysql2(0.3.2)gem & mysql-5.5.12(64位版本)運行Snow Leopard。 我的問題是,rake不會將DB架構轉儲到我的rails項目中。錯誤它給:問題與耙子和mysql2寶石

Homes-Mac-Pro:demo home$ rake db:schema:dump 
(in /Users/home/Sites/demo) 
rake aborted! 
dlopen(/Library/Ruby/Gems/1.8/gems/mysql2-0.3.2/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib 
    Referenced from: /Library/Ruby/Gems/1.8/gems/mysql2-0.3.2/lib/mysql2/mysql2.bundle 
    Reason: image not found - /Library/Ruby/Gems/1.8/gems/mysql2-0.3.2/lib/mysql2/mysql2.bundle 
/Users/home/Sites/demo/Rakefile:4 

全部跡可尋here

這是堆棧溢出我的第一個軌道的問題。 謝謝

回答

1

這是一個非常普遍的問題。簡單的解決方案是在Gemfile中執行以下操作。

gem 'mysql2', '~> 0.2.7' # Not mysql2 version 0.3.2 like you have 
gem 'rake', '~> 0.8.7' # Not rake version 0.9.0 like you have 

Blog Post

任何其他版本以上這些不使用Rails 3.0.0的工作 - 3.0.8

讓我們知道您的身體情況如何。祝一切順利。

+0

感謝您的輸入,但不幸的是,在我的Gemfile中安裝並列出Mysql2 0.2.7並不適合我。我會在我的Gemfile中使用好的舊的mysql gem,但是對於Mysql:Class而言,臭名昭着的「未定義的方法init」也會在那兒煩擾我。 – siner55 2011-05-28 20:44:36

+0

如果你能夠運行bundle exec rake db:schema:dump並且它可以工作(指定了rake和mysql2 gem版本),那麼你的系統仍然試圖使用最新的版本。您需要gem卸載mysql2並卸載所有版本,再次使用rake和bundle install進行同樣的操作。讓我們知道您的身體情況如何。 – CharlesJHardy 2011-05-28 20:48:01

+0

隨意標記此答案已解決,如果你設法得到它與這個答案。祝一切順利。 – CharlesJHardy 2011-05-28 21:18:42