2011-08-04 104 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的测试部分。如果它仍然无法正常工作,请编辑您的帖子,并提供您在此时发生的错误。 –