2015-01-21 172 views
1

我想将我的rails应用程序从rails版本3迁移到rails版本4.我在我的rails应用程序中安装了mysql2 gem并试图运行rails服务器,但是我得到下面错误。Rails:当启动rails服务器时mysql加载错误

C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0/lib/act 
ive_support/dependencies.rb:228:in `require': cannot load such file -- mysql2/2. 
0/mysql2 (LoadError) 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activesupport- 
4.0.0/lib/active_support/dependencies.rb:228:in `block in require' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activesupport- 
4.0.0/lib/active_support/dependencies.rb:213:in `load_dependency' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activesupport- 
4.0.0/lib/active_support/dependencies.rb:228:in `require' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/mysql2-0.3.11- 
x86-mingw32/lib/mysql2/mysql2.rb:2:in `<top (required)>' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activesupport- 
4.0.0/lib/active_support/dependencies.rb:228:in `require' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activesupport- 
4.0.0/lib/active_support/dependencies.rb:228:in `block in require' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activesupport- 
4.0.0/lib/active_support/dependencies.rb:213:in `load_dependency' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activesupport- 
4.0.0/lib/active_support/dependencies.rb:228:in `require' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/mysql2-0.3.11- 
x86-mingw32/lib/mysql2.rb:9:in `<top (required)>' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/bundler-1.7.7/ 
lib/bundler/runtime.rb:76:in `require' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/bundler-1.7.7/ 
lib/bundler/runtime.rb:76:in `block (2 levels) in require' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/bundler-1.7.7/ 
lib/bundler/runtime.rb:72:in `each' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/bundler-1.7.7/ 
lib/bundler/runtime.rb:72:in `block in require' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/bundler-1.7.7/ 
lib/bundler/runtime.rb:61:in `each' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/bundler-1.7.7/ 
lib/bundler/runtime.rb:61:in `require' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/bundler-1.7.7/ 
lib/bundler.rb:133:in `require' 
     from E:/JCI-stable-final-Version-7-AoneSms/onspot-rails4.0.0/config/appl 
ication.rb:12:in `<top (required)>' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.0 
/lib/rails/commands.rb:76:in `require' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.0 
/lib/rails/commands.rb:76:in `block in <top (required)>' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.0 
/lib/rails/commands.rb:73:in `tap' 
     from C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.0.0 
/lib/rails/commands.rb:73:in `<top (required)>' 
     from script/rails:6:in `require' 
     from script/rails:6:in `<main>' 

下面是我的Gemfile

source 'http://rubygems.org' 
gem 'gmaps4rails' 
gem 'geocoder' 
gem 'groupdate' 
gem "chartkick" 
gem "paperclip" 
gem "easy_captcha" 
gem "rails_email_validator" 
gem "devise_security_extension" 
gem "will_paginate" 
gem "prawn-labels" 
gem "rails-xmlrpc" 
gem "rqrcode_png" 
gem "rqrcode" 
gem "blueprint-rails" 
gem "mysql2" , "0.3.11" 
gem "jeweler" 
#gem "activesupport" 
#gem "activerecord" 
#gem "activerecord-import" 
#gem "activerecord-mysql-adapter" 
#gem "mysql" 
gem "yaml_db" 
gem "tabulous" 
gem "thin" 
gem 'rails', '4.0.0' 
gem "rake" 
gem 'jquery-ui-rails' 




gem 'cancan' 
gem 'rolify' 


gem 'rails_admin' 
gem 'fastercsv' 
# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 

#gem 'sqlite3' 

gem "devise" 
#gem "devise", "~> 1.5.3" 
#gem "orm_adapter", "~> 0.0.3" 
gem 'json' 



# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 4.0.0' 
    gem 'coffee-rails', '~> 4.0.0' 

    # See https://github.com/sstephenson/execjs#readme for more supported runtimes 
    # gem 'therubyracer', :platforms => :ruby 

    gem 'uglifier', '>= 1.3.0' 
end 

gem 'jquery-rails' 

# To use ActiveModel has_secure_password 
# gem 'bcrypt-ruby', '~> 3.0.0' 

# To use Jbuilder templates for JSON 
# gem 'jbuilder' 

# Use unicorn as the app server 
# gem 'unicorn' 

# Deploy with Capistrano 
gem 'capistrano' 

#gem 'css-bootstrap-rails' 

# To use debugger 
# gem 'ruby-debug' 

gem 'impressionist' 
gem 'devise-encryptable' 
gem "devise_invitable" 

请帮助。

感谢

回答

1
gem uninstall mysql2 

Download last MySQL connector from 
http://cdn.mysql.com/Downloads/Connector-C/mysql-connector-c-noinstall-6.0.2-win32.zip 

Extract it to C:\connector-6.0.2 

gem install mysql2 --platform=ruby -- '--with-mysql-lib="C:\connector-6.0.2\lib" --with-mysql-include="C:\connector-6.0.2\include" --with-mysql-dir="C:\connector-6.0.2"' 

If after installing the gem, you get an error: 
"The specified module could not be found. 
C:/Devel/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.3.11/lib/mysql2/mysql2.so" 
Then copy "libmysql.dll" to Ruby's bin folder. 

如果你仍然无法解决这个问题,看看这篇文章: http://www.codeproject.com/Tips/798700/Install-Rails-and-MySQL-Server-on-Windows

给一个尝试,上述伎俩可能的帮助。 但确实,尝试移动到Linux机器。从不建议Windows开发。

+0

我试过但得到相同的错误。 – user2274074 2015-01-21 09:50:29

+0

更新的答案,我没有注意到你在windows中遇到了这个错误。希望这有助于:) – Ajay 2015-01-21 09:53:49

+0

我试过它上面的命令和宝石是安装sucesffully。但仍然得到相同的问题..当我做捆绑安装我得到http://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-noinstall-6.0 .2-win32.zip /从/选择 并将lib \ libmysql.dll文件放入您的Ruby bin目录中,例如C:\ Ruby \ bin消息 – user2274074 2015-01-21 10:02:57