2016-04-25 7 views
0

ich eine Datei von einem Remote-Linux-Server zum Download versuchen (aus dem Verzeichnis /home/dataFiles/test.txt) in der Knoten-Server (zum Verzeichnis H:/dataDirOnNodeServer) mit dem Modul node-scp2. Um dies zu tun, betreibe ich folgendes:Fehler: Basisstrom nicht beschreibbar, wenn sie versuchen Datei vom Remote-Server-Knoten-Server herunterladen

client.scp('linuxUsername:[email protected]:/home/dataFiles/test.txt', 'H:/dataDirOnNodeServer', function(err) { 
    console.log(err); 
}) 

bekomme ich einen Fehler: Fehler: Basisstrom nicht beschreibbar

würde ich es wirklich schätzen, wenn Sie mir dabei helfen können, oder wenn Sie beraten, wie um es anders zu machen, damit es funktioniert.

+1

Dies bedeutet, dass 'H:/dataDirOnNodeServer' nicht existiert. Bist du sicher, dass es so ist? –

+0

Auch, wenn es ein Verzeichnis ist, das Sie bereitstellen, sollte es mit einem '/' –

+0

enden Vielen Dank für Ihre Antwort! Ich verifizierte den Pfad ist dort auf meinem Windows-Rechner, der mein ndoe-Server ist. Auch habe ich am Ende hinzugefügt, aber ich bekomme den gleichen Fehler. Ich bin nicht sicher, was mir fehlt – Nat

Antwort

0

Ich löste das! Das Problem war, dass ich diesen Client innerhalb eines Erfolges eines anderen Clients anrief, daher verwendete die Datei dieselbe Instanz, um die Kopie auszuführen. Um dies zu beheben änderte ich den scp Bibliothek Code loacted in scp2/lib/scp.js wie folgt:

-var client = require('./client'); 
+var Client = require('./client').Client; 
+var client = new Client(); 

(Erste Zeile wurde entfernt und die beiden Linien wurden unter hinzugefügt), auf diese Weise jedes Mal eine neue Instanz namens. Dies löste auch ein Problem des Stack-Überlaufs, den ich zuvor bekommen hatte.