2017-10-12 54 views
0

我有这个版本,我不能改变红宝石和铁路版本mysql2 gemerror铁路版本

  • 红宝石版 - 1.9.2-P290
  • 轨版本 - 3.0.9
  • mysql2版本 - 0.2.9

,当我尝试运行在Ubuntu rails server command,我收到此错误

rake aborted! 
Bundler::GemRequireError: There was an error while trying to load the gem 'mysql2'. 
Gem Load Error is: uninitialized constant Mysql2::Client::SECURE_CONNECTION 
Backtrace for gem load error is: 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mysql2-0.2.9/lib/mysql2/client.rb:12:in `<class:Client>' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mysql2-0.2.9/lib/mysql2/client.rb:2:in `<module:Mysql2>' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mysql2-0.2.9/lib/mysql2/client.rb:1:in `<top (required)>' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/mysql2-0.2.9/lib/mysql2.rb:9:in `<top (required)>' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:82:in `require' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:82:in `block (2 levels) in require' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:77:in `each' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:77:in `block in require' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:66:in `each' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/bundler-1.15.4/lib/bundler/runtime.rb:66:in `require' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/bundler-1.15.4/lib/bundler.rb:108:in `require' 
/home/xyz/Documents/trailtap-api/config/application.rb:9:in `<top (required)>' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
/home/xyz/Documents/trailtap-api/Rakefile:4:in `<top (required)>' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-10.5.0/lib/rake/rake_module.rb:28:in `load' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-10.5.0/lib/rake/rake_module.rb:28:in `load_rakefile' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-10.5.0/lib/rake/application.rb:689:in `raw_load_rakefile' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-10.5.0/lib/rake/application.rb:94:in `block in load_rakefile' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-10.5.0/lib/rake/application.rb:176:in `standard_exception_handling' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-10.5.0/lib/rake/application.rb:93:in `load_rakefile' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-10.5.0/lib/rake/application.rb:77:in `block in run' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-10.5.0/lib/rake/application.rb:176:in `standard_exception_handling' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-10.5.0/lib/rake/application.rb:75:in `run' 
/home/xyz/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/rake-10.5.0/bin/rake:33:in `<top (required)>' 
/home/xyz/.rbenv/versions/1.9.2-p290/bin/rake:23:in `load' 
/home/xyz/.rbenv/versions/1.9.2-p290/bin/rake:23:in `<main>' 
Bundler Error Backtrace: 
/home/xyz/Documents/trailtap-api/config/application.rb:9:in `<top (required)>' 
/home/xyz/Documents/trailtap-api/Rakefile:4:in `<top (required)>' 
(See full trace by running task with --trace) 

我以为gem文件需要更新,所以我更新了它,但然后mysql2不支持导轨版本,并没有运送活动记录适配器,即使在安装适配器gem失败后。

在此先感谢。

+0

试**捆绑更新** – suresh

回答

0

检查这篇文章:uninitialized constant Mysql2::Client::SECURE_CONNECTION

的解决办法是升级mysql2。在你的情况下,可能值得尝试降级该版本,看看它是否解决了你的问题。

同时,确保libmysqlclient-devruby-mysql安装并跟上时代的

+0

当我尝试安装的libmysqlclient-dev的,doensot找到任何回购。我不认为升级mysql2版本会起作用,因为它会给出上面提到的错误。我正在寻找允许mysql2版本工作的解决方案 – newtechie

0

尝试

gem 'rails', '3.0.9' 
gem 'mysql2', "0.2.24"