当我刚安装Gem时找不到Gem
我正在创建一个Ruby脚本,它从Excel工作表读取数据并将其数据放在MySQL数据库中。我写了它并安装了必要的宝石。然而,当我试着通过的cPanel主机来运行它,我得到以下错误:当我刚安装Gem时找不到Gem
Array ([0] => /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- ruby-mysql (LoadError) [1] => from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' [2] => from ../ruby/InsertarFaltantesExcel.rb:2)
的Ruby代码:
require 'rubygems'
require 'ruby-mysql'
require 'spreadsheet'
#load './spreadsheet.rb'
con = Mysql.connect('xx', 'xx', 'xx','xx')
ARGV = "--help" if ARGV.empty?
workbook = Spreadsheet.open(ARGV[0])
sheet = workbook.worksheet(0)
sheet.each do |row|
@faltantes = {
"id_verificador" => "#{row[0]}",
"order_id" => "#{row[1]}",
"id_proveedor" => "#{row[28]}",
"shipping" => "#{row[10]}",
"ean" => "#{row[4]}",
"isbn" => "#{row[5]}",
"description" => "#{row[8]}",
"sku" => "#{row[9]}",
"cost" => "#{row[40]}",
"order_price" => "#{row[14]}",
"master" => "#{row[39]}",
"quantity_purchased" => "#{row[11]}",
"total_price" => "#{row[12]}",
"condition" => "#{row[33]}",
"tracking" => "#{row[29]}"
}
insertar_faltantes(@faltantes, con)
end
def insertar_faltantes(hash, con)
statement - con.prepare("INSERT INTO articulos(art_id_verificador, art_id_orden, art_id_proveedor, art_shipping, art_N13, art_ISBN, art_titulo, art_SKU, art_cost, art_precio, art_master, art_cantidad, art_total, art_condition,
art_tracking) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?);")
statement.execute "#{hash['id_verificador']}", "#{hash['order_id']}", "#{hash['id_proveedor']}", "#{hash['shipping']}", "#{hash['ean']}", "#{hash['isbn']}", "#{hash['sku']}", "#{hash['cost']}", "#{hash['order_price']}","#{hash['master']}",
"#{hash['quantity_purchased']}", "#{hash['condition']}", "#{hash['tracking']}"
end
在~/ruby/gems/gems/
的宝石不被你的Ruby可执行文件的认可。找到所有其他宝石保存在哪里,并将这些宝石移到那里。
或者,尝试使用不同的包管理器。如果您以前成功安装了宝石,请使用您用于此的管理器。
你好,我以前用Ruby来安装它的宝石。我不知道这是不是你的意思。 –
你通常使用什么命令? –
'gem install
你知道宝石的位置吗?试着在那里看看它是否安装。它可能在'/ usr/lib/ruby/site_ruby/1.8/rubygems /' –
的某个地方。实际上,它不在您提到的特定位置。而是它在这里: '〜/ ruby/gems/gems /' –
其他宝石是否在同一个地方?我认为他们都工作。 –