2011-04-22 186 views
1

我对Ruby,Rails和MySQL是全新的。我正在尝试启动一个新项目并启动默认服务器,并收到下面列出的错误。我已经安装以下:Ruby on Rails服务器启动问题

  • 红宝石:红宝石1.8.7(2008-08-11 PATCHLEVEL 72)[i686的-darwin9.8.0]
  • 导轨:导轨(3.0.7)
  • MySQL的: mysql2(0.2.7)
  • RubyGems的:1.7.2

误差低于:

$ rails s 
/usr/local/lib/ruby/gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle: dlsym(0x251680, Init_mysql2): symbol not found - /usr/local/lib/ruby/gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle (LoadError) 
    from /usr/local/lib/ruby/gems/1.8/gems/mysql2-0.2.7/lib/mysql2.rb:8 
    from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:68:in `require' 
    from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:68:in `require' 
    from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:66:in `each' 
    from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:66:in `require' 
    from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:55:in `each' 
    from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:55:in `require' 
    from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler.rb:120:in `require' 
    from /Users/nelsonwittwer/Sites/simple_cms/config/application.rb:7 
    from /usr/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:28:in `require' 
    from /usr/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:28 
    from /usr/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:27:in `tap' 
    from /usr/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:27 
    from script/rails:6:in `require' 
    from script/rails:6 

我不太确定该从哪里出发,并会喜欢你可能有的任何帮助。谢谢。

回答

0

确保你的ruby系统中安装了mysql2 gem。要检查它使用宝石名单-d。如果没有找到mysql2宝石,在Ubuntu中必须安装以下库安装之前mysql2宝石:

# sudo apt-get install libmysqlclient15-dev (for mysql-5.*) 

# sudo apt-get install libmysql-ruby ruby-dev 

之后,你可以用安装sudo的创业板安装mysql2,并确保您的适配器值里面的database.yml是mysql2 。另一个问题是库未加载,您可以查看此链接是否存在问题Library not loaded: libmysqlclient.16.dylib error when trying to run 'rails server' on OS X 10.6 with mysql2 gem

0

您需要在系统上安装mySQL gem。

现在,不要使用apt-get来安装它,因为apt-get通常具有旧版本的ruby库。

此外,我强烈建议您在开始时使用SQLite。 而且,捆扎机也很有帮助

(在railstutorial描述)在Ubuntu /基于Debian发行版(和你真的想使用MySQL):

如果您使用Ruby 1.8.x的(请与ruby -v ):

sudo apt-get install libmysqlclient-dev 
sudo apt-get install ruby-dev 
sudo gem install mysql2 

如果您使用Ruby 1.9.x的:

sudo apt-get install libmysqlclient-dev 
sudo apt-get install ruby1.9.1-dev 
sudo gem install mysql2