2011-08-04 146 views
1

我試圖在新的OS X 10.7安裝上安裝rvm,mysql和rails。他們都單獨正確安裝,但我似乎無法讓他們一起工作。rake db:在OS X 10.7上使用mysql創建Lion失敗

當我嘗試的命令rake db:create,我得到以下錯誤:

db/test.sqlite3 already exists 
db/test.sqlite3 already exists 
rake aborted! 
uninitialized constant Mysql::Error 

Tasks: TOP => db:create 
(See full trace by running task with --trace) 
  • 的Mac OS X 10.7.0
  • RVM 32年6月1日
  • 的Ruby 1.9.2
  • 的MySQL 5.1.5.15
  • Rails 3.0.9

我使用正確的說明安裝了mysql gem。我說這到〜/ .bash_profile:

export DYLD_LIBRARY_PATH="/usr/local/mysql/lib:$DYLD_LIBRARY_PATH" 

我做這個命令:

env ARCHFLAGS="-arch x86_64" sudo gem install mysql -v='2.8.1' -- --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/include --with-mysql-config=/usr/local/mysql/bin/mysql_config 

當我做gem list,我可以看到MySQL的寶石是2.8.1版本的安裝。我現在有點想法了,有什麼建議嗎?謝謝。

的database.yml:創建測試數據庫

development: 
    adapter: mysql 
    encoding: utf8 
    reconnect: false 
    database: terra_development 
    pool: 5 
    username: root 
    password: root 
    socket: /tmp/mysql.sock 
+0

在你的第一個代碼塊中,它似乎在思考sqlite。你可以發佈你的database.yml-password和Gemfile的開發部分。 – creativetechnologist

回答

1

感謝您的輸入,我設法解決這個問題。問題在於rails無法使用提供的憑證連接到服務器。由於某種原因,沒有任何MySQL用戶,甚至沒有一個root用戶。我運行這個命令:

/usr/local/mysql/bin/mysqladmin -u root password "root" 

哪個創建了root用戶,讓我連接到服務器並解決問題!

+0

這解決了我在OSX上使用推薦的'brew install mysql'安裝mysql後遇到的問題。 – Meekohi

0

SQLite的誤差。你顯示你的database.yml的開發部分,所以你的database.yml的測試部分指定了sqlite,或者你沒有指定測試數據庫。

+0

sqlite錯誤不是問題。這是關於MySQL的。 – Rits

+0

您遇到的問題與sqlite錯誤直接相關。 Rake正在中止,因爲您的測試數據庫已經存在。刪除'db/sqlite3'或修復你的database.yml的測試部分。如果它仍然無法正常工作,請編輯您的帖子,並提供您在此時發生的錯誤。 –