2017-10-12 26 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"