新手问题 关于 gem mysql2 的使用问题

wikimo · 2012年05月19日 · 最后由 wikimo 回复于 2012年05月25日 · 4754 次阅读

参考了https://github.com/brianmario/mysql2mysql2,单独使用 这个 gem,新建一文件 app.rb,里面单独写 require 'mysql2' 执行后,报 mysql2.bundle: [BUG] Segmentation fault 错误

ruby 版本 1.9.3,Google 了一会,有说换 mysql 版本的,不太现实吧,求解。

部分错误信息

-- Ruby level backtrace information ----------------------------------------
./app.rb:1:in `<main>'
/Users/wiki/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
/Users/wiki/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
/Users/wiki/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
/Users/wiki/.rvm/gems/ruby-1.9.3-p125/gems/mysql2-0.3.11/lib/mysql2.rb:9:in `<top (required)>'
/Users/wiki/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/Users/wiki/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'

只是 require 一个 mysql2 ? 我也是 ruby 1.9.3,我这边是 ok 的,你应该给多点信息

require "mysql2"
require "active_record"
# 数据库名,ip,数据库用户名,数据库对应用户名的密码
def connect_db(*args)

     db = args[0] 
     ip = args[1] || "127.0.0.1"
     user = args[2] || "root"
     password =  args[3] || ""
     ActiveRecord::Base.establish_connection(
      :adapter  => "mysql2",
      :database => db,
      :encoding => "utf8",
      :port     => 3306,
      :host     => ip,
      :username => user,
      :password => password,
    )
end


恩,只是 "mysql2",照你方法再试试看,3Q @lb563

需要 登录 后方可回复, 如果你还没有账号请 注册新账号