2011-09-27 75 views
1

OS版本:的Mac OS X 10.7.1狮子
红宝石版本:ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.1.0]
红宝石地点:/usr/local/rvm/bin/ruby
Rails的版本:Rails 3.1.0
Rails的位置:/usr/local/rvm/gems/ruby-1.9.2-p290/bin/rails问题与OS Rails的宝石mysql2 X 10.7使用Ruby 1.9.2和Rails 3.1

现在,我安装了mysql2的宝石,当我运行gem list它显示在列表中:mysql2 (0.3.7)

到目前为止好,是吧?好的,所以这里就是棘手的地方。无论我做什么,我都无法启动服务器。在终端,我cd到我的Rails应用程序的目录并运行rails s。然而,而不是开始我得到这个:

/usr/local/rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.7/lib/mysql2.rb:9:in `require': dlopen(/usr/local/rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.7/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError) 
    Referenced from: /usr/local/rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.7/lib/mysql2/mysql2.bundle 
    Reason: image not found - /usr/local/rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.7/lib/mysql2/mysql2.bundle 
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.7/lib/mysql2.rb:9:in `<top (required)>' 
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:68:in `require' 
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:68:in `block (2 levels) in require' 
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:66:in `each' 
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:66:in `block in require' 
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:55:in `each' 
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:55:in `require' 
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler.rb:120:in `require' 
    from /Users/doug/Sites/simple_cms/config/application.rb:7:in `<top (required)>' 
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.0/lib/rails/commands.rb:52:in `require' 
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.0/lib/rails/commands.rb:52:in `block in <top (required)>' 
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.0/lib/rails/commands.rb:49:in `tap' 
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.0/lib/rails/commands.rb:49:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 

显然,这不是什么应该发生。问题是我不明白为什么不。我遇到的解决方案都没有工作。

这实际上是我第一次尝试让Ruby/RoR在我的电脑上工作。我正在使用Lynda.com的一个教程,毫不奇怪,这不会发生在做视频的人。

我试过寻找,正如我所说,似乎没有任何帮助。想法?

+0

如何安装mysql并启动mysql-server? – venj

+0

检查以下链接以解决此问题: http://stackoverflow.com/questions/4546698/library-not-loaded-libmysqlclient-16-dylib-error-when-trying-to-run-rails-服务 – Si1entSpike

+0

史蒂夫用我错过的答案指出了另一个问题。该解决方案如下: 须藤LN -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib 我的猜测是,因为我安装了多用户,而比单用户其他解决方案没有正确排队。但是,这是。 – dougoftheabaci

回答

2
install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib ~/.rvm/gems/[email protected][gemset name]/gems/mysql2-0.3.7/lib/mysql2/mysql2.bundle 

[宝石名称] =你正在使用的宝石的名称 - 如果你没有设置一个,那么你应该将其设置为是获得RVM

希望的要点之一这有助于