Rails服务器无法启动(LoadError)mysql2

时间:2011-06-15 08:41:24

标签: ruby-on-rails ruby ruby-on-rails-3 webrick mysql2

我是铁杆的新手,我必须为学校做一个小铁轨项目,但不知怎的,我甚至无法让我的服务器运行,真的很有希望开始,希望有人可以帮助我;-)

当我尝试启动rails服务器时,它会给我一个加载错误:

/Library/Ruby/Gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError)
  Referenced from: /Library/Ruby/Gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle
  Reason: image not found - /Library/Ruby/Gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle
    from /Library/Ruby/Gems/1.8/gems/mysql2-0.2.7/lib/mysql2.rb:8
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:68:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:68:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:66:in `each'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:66:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:55:in `each'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:55:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler.rb:120:in `require'
    from /Users/sanderdeclerck1/Sites/simple_cms/config/application.rb:7
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.8/lib/rails/commands.rb:28:in `require'
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.8/lib/rails/commands.rb:28
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.8/lib/rails/commands.rb:27:in `tap'
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.8/lib/rails/commands.rb:27
    from script/rails:6:in `require'
    from script/rails:6

我正在运行rails 3.0.8和ruby 1.8.7

有人有任何建议吗?

编辑:忘了提及我在OS X 10.6.7

5 个答案:

答案 0 :(得分:1)

我猜你是在OS X上,所以你应该在实际加载mysql Gem之前首先安装MySQL

两个选项:

  1. 关注this guide herethis slightly older guide如何设置一切(MySQL,Ruby和Rails)。如果你从官方网站安装MySQL,实际上应该足够了,但是根据我的经验,这需要稍微摆弄一下。

  2. 您还可以通过Homebrew安装MySQL。这是一个guide。请注意,您必须使用

    手动启动它
    launchctl load ~/Library/LaunchAgents/com.mysql.mysqld.plist
    

答案 1 :(得分:1)

尝试将export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/:$DYLD_LIBRARY_PATH添加到~/.profile。如果您的mysql安装不在/usr/local,则必须更改该路径。

答案 2 :(得分:0)

如果您使用Ubuntu,请尝试安装apt-get install ruby-dev libmysql-ruby libmysqlclient-dev

答案 3 :(得分:0)

你是如何安装MySQL的?安装MySQL gem时,您可能需要指定--with-lib--with-mysql-dir

gem install mysql2 -- '--with-mysql-lib=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/include'

答案 4 :(得分:0)

您可能只需要重新安装mysql2 gem。

首先你应该找到你的mysql_config。 你可以通过发出:

来做到这一点
sudo find /usr/local -name mysql_config

然后用

安装gem
(sudo) gem install mysql2 -- --with-mysql-config=RESULT_FROM_ABOVE

这应该为您提供一个配置了您的mysql安装的gem。 希望有所帮助。

相关问题