【问题标题】:cannot load mysql2 gem - Load Error - in Ruby File无法加载 mysql2 gem - 加载错误 - 在 Ruby 文件中
【发布时间】:2017-08-06 20:25:46
【问题描述】:

当我在一个简单的 ruby​​ 文件中运行以下代码时:

require 'mysql2'
client = Mysql2::Client.new(:host => "localhost", :username => "root")

我收到以下回复。

/usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- mysql2/mysql2 (LoadError)
    from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/lib/ruby/gems/2.3.0/gems/mysql2-0.4.8/lib/mysql2.rb:31:in `<top (required)>'
    from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:133:in `require'
    from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:133:in `rescue in require'
    from /usr/local/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require'

我没有在 RoR 中使用这个 gem,现在只是纯粹的 ruby​​ 修补。 我通过 Homebrew 安装了 gem。

版本。

gem list mysql2 --> mysql2 (0.4.8)

mysql Ver 14.14 Distrib 5.7.19,适用于 osx10.11 (x86_64)

ruby 2.3.1p112(2016-04-26 修订版 54768)[x86_64-darwin15]

【问题讨论】:

  • 你试过降级你的ruby版本,可能是二进制文件不支持ruby 2.3.1

标签: ruby mysql2


【解决方案1】:

在与您的 ruby​​ 文件相同的目录中创建一个 Gemfile

# Gemfile

source "https://rubygems.org"

gem "mysql2"

那就bundle install

然后做bundle exec ruby my_simple_ruby_file.rb

【讨论】:

  • 引发解析错误 ==> 解析 Gemfile 时出错:语法错误,意外 tIDENTIFIER,预期输入结束 - gem "mysql2"。我是否需要为 gem 文件指定其他内容才能工作或识别 mysql2 gem ?
  • 终于成功运行bundler。但是,现在还有另一个错误。 “在任何来源中都找不到 mysql2-0.4.8”
  • 更确切地说是 bundle exec。顺便说一句,我将我的 ruby​​ 版本更改为最新的稳定版,即 2.4.1
猜你喜欢
  • 2016-05-18
  • 2013-07-11
  • 1970-01-01
  • 2011-05-09
  • 2015-05-09
  • 1970-01-01
  • 2013-03-14
  • 1970-01-01
  • 2019-06-14
相关资源
最近更新 更多