首先执行了
gem install mysql2 --platform=ruby
安装成功后,在rb文件里尝试
require 'mysql2'
client = Mysql2::Client.new(:host => "xxx",
:username => "root",
:password => 'xxx',
:database => 'learn_sql')
results = client.query("SELECT * FROM Student")
puts results.count
提示无法加载文件mysql2,按住ctrl并左键点击mysql2也是提示如此;
irb命令中 require ‘mysql2’ 返回true,证明安装mysql2是成功的;
使用locate mysql2.rb(因为require 引入的文件可默认省略.rb后后缀,看看这个文件有没有)查找一下,发现有这个文件;
考虑使用相对路径导入方式
require_relative '/home/atlantic/.rvm/gems/ruby-2.6.1/gems/mysql2-0.5.3/lib/mysql2.rb'
或者在一开始指定$LOAD_PATH << ‘/home/atlantic/.rvm/gems/ruby-2.6.1/gems/mysql2-0.5.3/lib/’ ,让 Ruby 知道必须在当前目录中搜索被引用的文件
#require 'rubygems'
#require 'mysql2'
$LOAD_PATH << '/home/atlantic/.rvm/gems/ruby-2.6.1/gems/mysql2-0.5.3/lib/'
#require_relative '/home/atlantic/.rvm/gems/ruby-2.6.1/gems/mysql2-0.5.3/lib/mysql2.rb'
require 'mysql2.rb'
client = Mysql2::Client.new(:host => "xxx",
:username => "root",
:password => 'xxx',
:database => 'learn_sql')
results = client.query("SELECT * FROM Student")
results.each do |row|
puts row
end
输出了预期结果