Ruby: Fehlermeldung bei require


Sempervivum

Erfahrenes Mitglied
#1
Hallo,
ich habe keine Ahnung von Ruby und versuche gerade, dieses Skript zum Laufen zu bringen:
https://github.com/glejeune/syncftp
Entsprechend der Anleitung rufe ich es wie folgt auf:
Code:
require_relative 'syncftp'

ftp = SyncFTP.new( 'ulrichbangert.de', :username => "**********", :password => "**********" )
ftp.sync( :local => ".\test", :remote => "tmp" )
syncftp.rb liegt im selben Pfad wie dieses Skript.
Installiert habe ich Ruby 2.1
Ich bekomme folgende Fehlermeldung:
C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
: cannot load such file -- syncftp (LoadError)
from C:/Ruby21-x64/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55
:in `require'
from sync.rb:1:in `<main>'
Edit2: Um die Fehlermeldungen zu Gesicht zu bekommen, rufe ich das Skript aus einem Batch-Skript auf:
Code:
"C:\Ruby21-x64\bin\ruby.exe" sync.rb
pause
Geht so etwas auch im Ruby-Skript?
 
Zuletzt bearbeitet:

Sempervivum

Erfahrenes Mitglied
#2
Ich habe es jetzt hinbekommen, indem ich die Endung rb ergänzt habe:
Code:
require_relative 'syncftp.rb'
Aber leider braucht dieses Skript ein ganzes Paket von anderen Skripts, die rekursiv eingezogen werden. Ich kann diese nicht alle umeditieren. Was tun?
 

Sempervivum

Erfahrenes Mitglied
#3
Das mit den vielen requires habe ich jetzt gelöst, indem ich beim Aufruf den Suchpfad übergebe:
Code:
ruby.exe -I. sync.rb
Jetzt ist noch eine Datei übrig, die er nicht findet: mime/type. Vermute, das Skript ist für 1.9 und bei 2.1 gibt es das nicht mehr. Ich würde ja 1.9 nehmen, aber mein Virenscanner schlägt an, wenn ich diese herunter laden will.
Habe das Problem mal bei Stackoverflow gepostet.