2017-02-21 2 views
0

Ich erstelle ein Ruby-Skript, das Daten aus einem Excel-Blatt liest und seine Daten auf eine MySQL-Datenbank legt. Ich habe es geschrieben und die notwendigen Edelsteine ​​installiert. Allerdings, wenn ich versuche, es über meine cPanel-Host zu laufen und ich erhalte die folgenden Fehler:Gem nicht gefunden, wenn ich es gerade installiert habe

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-Code:

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

Wissen Sie, wo sich Ihre Edelsteine ​​befinden? Versuchen Sie, dort nachzuschauen, ob es installiert ist. Es ist wahrscheinlich irgendwo in der Nähe von '/ usr/lib/ruby ​​/ site_ruby/1.8/rubygems /' –

+0

Eigentlich ist es nicht in dem bestimmten Ort, den Sie erwähnt haben. Eher ist es hier: '~/Rubin/Edelsteine ​​/ Edelsteine ​​/' –

+0

Sind die anderen Edelsteine ​​an der gleichen Stelle? Ich nehme an, dass sie alle arbeiten. –

Antwort

1

Die Edelsteine ​​in ~/ruby/gems/gems/ sind nicht von Ruby ausführbar erkannt zu werden. Finden Sie, wo alle anderen Edelsteine ​​aufbewahrt werden, und bringen Sie diese dorthin.

Alternativ können Sie auch einen anderen Paketmanager verwenden. Wenn Sie erfolgreich Edelsteine ​​in der Vergangenheit installiert haben, verwenden Sie den von Ihnen verwendeten Manager.

+0

Hallo, ich habe Ruby in der Vergangenheit verwendet, um seine Edelsteine ​​zu installieren. Ich weiß nicht, ob du das meinst. –

+0

Welchen Befehl verwenden Sie normalerweise? –

+0

'gem installieren ' –

Verwandte Themen