【问题标题】:Rails: mysql load error when starting rails serverRails:启动rails服务器时mysql加载错误
【发布时间】:2015-01-21 09:42:22
【问题描述】:

我正在尝试将我的 rails 应用程序从 rails 版本 3 迁移到 rails 版本 4。我已经在我的 rails 应用程序中安装了 mysql2 gem 并尝试运行 rails 服务器,但我遇到了错误。

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"

请帮忙。

谢谢

【问题讨论】:

    标签: mysql ruby-on-rails ruby-on-rails-4


    【解决方案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 用于 Rails 开发。

    【讨论】:

    • 已更新答案,我没有注意到您在 Windows 中遇到此错误。希望这会有所帮助:)
    • 我在上面的命令中试过了,gem 安装成功了。但仍然遇到同样的问题.. 当我进行捆绑安装时,我得到了 dev.mysql.com/get/Downloads/Connector-C/… .2-win32.zip/from/pick 并将 lib\libmysql.dll 文件放在你的 Ruby bin 目录中,例如 C:\Ruby\ bin 消息
    • 当我进行捆绑安装时,我收到以下消息
    • 您应该将该 libmysql.dll 文件复制到 Ruby 的 bin 文件夹中。与此类似的内容:i) 将 libmysql.dll 从 C:\Programs\mysql-connector-c-noinstall-6.0.2-win32\lib 复制到 C:\Programs\Ruby200\bin
    • 您好,我将它复制到我的 ruby​​ 的 bin 文件夹 (C:\RailsInstaller\Ruby2.0.0\bin) 仍然遇到同样的问题。我正在运行 64 位的 windows xp。
    猜你喜欢
    • 1970-01-01
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    • 1970-01-01
    • 2016-09-13
    • 2015-01-30
    • 2012-04-18
    相关资源
    最近更新 更多