Mysql 无法启动rails服务器

Mysql 无法启动rails服务器,mysql,ruby-on-rails-3,Mysql,Ruby On Rails 3,我已经安装了rails和mysql。我还安装了mysql2gem。我通过命令创建了一个rails应用程序 rails新尝试\uCMS-dMySQL 它已成功创建。但是当我尝试使用rails server命令运行WEBrick服务器时,我得到了以下错误 /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql

我已经安装了rails和mysql。我还安装了mysql2gem。我通过命令创建了一个rails应用程序 rails新尝试\uCMS-dMySQL 它已成功创建。但是当我尝试使用rails server命令运行WEBrick服务器时,我得到了以下错误

/Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.16.dylib (LoadError)
  Referenced from: /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
  Reason: image not found - /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
    from /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2.rb:7
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.9/lib/bundler/runtime.rb:68:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.9/lib/bundler/runtime.rb:68:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.9/lib/bundler/runtime.rb:66:in `each'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.9/lib/bundler/runtime.rb:66:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.9/lib/bundler/runtime.rb:55:in `each'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.9/lib/bundler/runtime.rb:55:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.9/lib/bundler.rb:114:in `require'
    from /Users/dilippednekar/Sites/try_cms/config/application.rb:7
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:28:in `require'
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:28
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:27:in `tap'
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:27
    from script/rails:6:in `require'
    from script/rails:6
提前感谢。

尝试运行此功能(参见类似问题)


出于某种原因,mysql2.bundle文件不在我的mysql2 gem中。我跑

 gem uninstall mysql2
而gem被卸载了。然后我马上跑了

sudo gem install mysql2
然后


终于
rails s
启动了服务器

我也有类似的问题。找到了适合我的解决方案。

我自己也遇到了这个问题。确保更新了版本号


sudo install_name_tool-change libmysqlclient.18.dylib/usr/local/mysql/lib/libmysqlclient.18.dylib/Library/Ruby/Gems/1.8/Gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle

我刚刚用Rails 3.1.0、Ruby-1.9.2-p290和mysql2.3.7实现了这个功能。我的解决方案是降级到mysql 2.8.1。到目前为止,一切看起来都很好(我甚至无法启动环境)。

如果您想减少干扰,只需在MySQL的lib方向设置
DYLD\u LIBRARY\u PATH
环境变量

export DYLD_LIBRARY_PATH=$MYSQL_HOME/lib

谢谢这很有效。如果您能解释一下该命令的具体作用,我将不胜感激。该命令告诉mysql2捆绑包使用
/usr/local/mysql/lib/libmysqlclient.16.dylib
的完整路径,而不仅仅是
libmysqlclient.16.dylib
。我尝试这样做是为了自己解决这个问题,但是我忘了更新版本。也就是说,在我的系统上,我应该放置mysql2-0.3.6。。现在,当我尝试启动rails服务器时,它正在寻找0.2.6。你知道我怎样才能解决这个问题吗?我试图用更新的版本重新输入您的答案,但没有任何效果。事实上,它甚至没有再问我根密码(你是说rails版本3.0.3:)
sudo gem install mysql2
sudo install_name_tool -change libmysqlclient.16.dylib /usr/local/mysql/lib/libmysqlclient.16.dylib /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
export DYLD_LIBRARY_PATH=$MYSQL_HOME/lib