2017-11-15 3 views
0

Warum bekomme ich diesen Fehler?node.js: Fehler: Kann Modul nicht finden

Node v8.9.1

Code

var childProcess = require('child_process'), 
    phantomjs = require('/var/bin/node_modules/phantomjs-prebuilt'); 

console.error = function(){ 
    require('system').stderr.write(Array.prototype.join.call(arguments, ' ')+'\n'); 
    phantomjs.exit(1); 
}; 

console.log('hey', phantomjs.path) 
console.error('error') 

childProcess.execFile(phantomjs.path, require('system').args, function(err, stdout, stderr){ 
    if(err){ 
     console.error(err); 
    } 

    if(stderr){ 
     console.error(stderr); 
    } 

    console.log(stdout); 
}); 

Fehler

# /var/bin/node_modules/phantomjs-prebuilt/bin/phantomjs phantom.js 
Error: Cannot find module 'path' 

    phantomjs://platform/bootstrap.js:299 in require 
    phantomjs://platform/bootstrap.js:263 in require 
    phantomjs://platform/phantomjs.js:10 
hey undefined 
TypeError: undefined is not a function (evaluating 'phantomjs.exit(1)') 

    phantomjs://code/phantom.js:6 in error 
error 
+0

Vielleicht haben Sie wollen sicher sein, 'system' ist eingebaut, wie ich habe gerade überprüft der Knoten docs und nicht gefunden' system' aufgeführt. Welche Version von Node verwenden Sie? –

+0

'Knoten v8.9.1'. – clarkk

+0

yhaa Ich glaube auch nicht, dass System ein Kernmodul ist, können Sie den Code bei http://rextester.com/l/nodejs_online_compiler mit einer einfachen Voraussetzung für die Konformation ausführen. – superhero

Antwort

2

system ist kein Knoten Einbaumodul, it's part of PhantomJS. Es ist nicht verfügbar, wenn Sie Ihr Skript nur mit dem Standard-Befehl node ausführen. As shown in the documentation, müssen Sie den phantomjs Befehl verwenden, etwa so:

phantomjs phantom.js 
+0

Haben meine Frage aktualisiert .. Jetzt bekomme ich nur einen neuen Fehler – clarkk