rake db:创建给出错误

时间:2012-10-23 06:59:46

标签: mysql ruby-on-rails ruby macos rake

当我运行rake db:create时出现以下错误

xyz-MacBook-Pro:ruby_project xyz$ rake db:create
rake aborted!
dlopen(/Users/xyz/.rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib
Referenced from: /Users/xyz/.rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle
Reason: image not found - /Users/xyz/.rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle

我的系统中安装了mysql 5.1.66,而我的database.yml文件结构是

adapter: mysql2
encoding: utf8
reconnect: false
database: ruby_test
pool: 5
username: root
password:
host: /tmp/mysql.sock

以下是我系统中mysql文件夹的内容

libdbug.a           libmysqlclient_r.a
libheap.a           libmysqlclient_r.dylib
libmygcc.a          libmysqlclient_r.la
libmyisam.a         libmysqld.a
libmyisammrg.a          libmystrings.a
libmysqlclient.16.dylib libmysys.a
libmysqlclient.a        libvio.a
libmysqlclient.dylib    libz.a
libmysqlclient.la       libz.la
libmysqlclient_r.16.dylib   plugin

有人可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:4)

使用命令
为mysql2安装gem     gem install mysql2
检查bundle以确保它使用mysql作为默认数据库。 并将libmysql.dll文件放在MySQL bin文件夹中。

答案 1 :(得分:1)

一种简单而最好的方法是通过命令创建软链接 -

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

http://rorguide.blogspot.com/2011/07/getting-error-library-not-loaded.html

答案 2 :(得分:1)

您可以安装libmysqlclient。我猜您正在使用Ubuntu,然后使用以下安装

sudo apt-get install libmysql-ruby libmysqlclient-dev