1

我对 Ruby、Rails 和 MySQL 完全陌生。我正在尝试启动一个新项目并启动默认服务器,但出现下面列出的错误。我安装了以下内容:

  • 红宝石:红宝石1.8.7(2008-08-11补丁级别72)[i686-darwin9.8.0]
  • 导轨:导轨(3.0.7)
  • MySql:mysql2(0.2.7)
  • 红宝石: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

我不太确定从这里去哪里,并且希望您能得到任何帮助。谢谢你。

4

2 回答 2

0

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

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

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

之后,您可以使用sudo gem install mysql2进行安装,并确保 database.yml 中的适配器值是 mysql2。另一个问题是库未加载,如果问题库未加载,您可以查看此链接:libmysqlclient.16.dylib error when trying to run 'rails server' on OS X 10.6 with mysql2 gem

于 2011-04-22T02:57:56.057 回答
0

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

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

另外,我强烈建议您在开始时使用 SQLite。而且,Bundler 也很有帮助(在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
于 2011-04-22T03:57:16.420 回答