2011-08-24 47 views
2

我一直在嘗試讓我的開發環境在OS X上安裝好幾天,而且我在mysql上遇到了很多麻煩。我已經通過mysql網站上的dmg文件安裝了mysql。這固定了我遇到的大部分麻煩。無法運行由於MySQL錯誤導致的遷移

我目前的問題是,當我運行「耙分貝:遷移」我收到以下錯誤:

rake aborted!
undefined method `init' for Mysql:Class

我讀的地方,使用中的Gemfile寶石「mysql2」和mysql2作爲數據庫適配器可能會解決這個問題。我試過這樣做,但沒有奏效。需要注意的一點是,mysql並不在我的PATH變量中的任何地方,所以在終端中輸入「mysql」會將我帶到/ var/_mysql,這有點奇怪。

我需要爲我的路徑變量添加'/ usr/local/mysql/bin'嗎?如果是這樣,我如何在OS X中執行此操作?

謝謝。

編輯:我添加/ usr/local/mysql/bin到我的路徑,仍然有相同的錯誤。

回答

4

要解決這個問題,我結束了使用mysql2 gem而不是mysql gem。這個過程並不是直截了當的,所以我想發佈一些我以後需要幫助的確切步驟。

首先,從mysql網站下載對應於您的OS X版本的OS X DMG文件。你將需要安裝mysql,然後是啓動項目,最後是首選項面板(所有這3個都在DMG文件中)。

接下來,您需要將mysql添加到您的路徑變量中。我相信你可以編輯/ etc /路徑或添加一個新文件到/etc/paths.rd/,但我最終修改了我的終端的配置文件。我添加下面一行到〜/ .zshrc(這僅適用於zsh的,如果你使用bash的文件是一樣的東西〜/ .bashrc中):

export PATH=[path:variables]:/usr/local/mysql/bin 
export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/mysql/lib/" 

[路徑:變量]僅僅是一個佔位符所有其他路徑變量都在那裏。第二行是獲得mysql2 gem工作所需的東西。第二行允許mysql找到所需的庫文件。

接下來,更換或添加

gem 'mysql' 

gem 'mysql2', '< 0.3' 

的< 0.3是必需的,否則一些奇怪的錯誤被拋出。 (對不起,我沒有保存堆棧跟蹤)。最後一步是將數據庫適配器更改爲mysql2。我希望這可以幫助別人節省很多頭痛:)

+0

LIFESAVER!謝謝。 – Alex

-1

我建議你完全卸載MySQL和MySQL gem(s)。然後安裝Homebrew軟件包管理器並使用Homebrew安裝MySQL。之後安裝寶石。在許多情況下,家釀會讓你的生活變得更輕鬆。如果您對C庫的安裝不太自信,特別有用。

+1

感謝您的建議,但我發現從MySQL網站安裝的DMG是一個更好的選擇。我結束了使用mysql2,因爲很多人都提出了這個問題,並最終開始工作。感謝您的輸入。 – Max

相關問題