当我刚安装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 
+0

你知道宝石的位置吗?试着在那里看看它是否安装。它可能在'/ usr/lib/ruby​​/site_ruby/1.8/ruby​​gems /' –

+0

的某个地方。实际上,它不在您提到的特定位置。而是它在这里: '〜/ ruby​​/gems/gems /' –

+0

其他宝石是否在同一个地方?我认为他们都工作。 –

~/ruby/gems/gems/的宝石不被你的Ruby可执行文件的认可。找到所有其他宝石保存在哪里,并将这些宝石移到那里。

或者,尝试使用不同的包管理器。如果您以前成功安装了宝石,请使用您用于此的管理器。

+0

你好,我以前用Ruby来安装它的宝石。我不知道这是不是你的意思。 –

+0

你通常使用什么命令? –

+0

'gem install ' –