Ich habe ein Nodejs-Skript, das Phantomjs-Node verwendet, um eine Webseite zu scrappen. Es funktioniert gut, wenn ich von einem Terminal-Fenster aus laufe, aber nicht, wenn ich innerhalb von Webstorm über eine Laufkonfiguration für eine Node JS-Anwendung laufe.Skript schlägt in Webstorm fehl, aber nicht vom Terminal
Was könnte den Fehler in Webstorm verursachen?
Ich habe bereits versucht, das Skript aus dem Terminal auszuführen, nachdem ich den Inhalt von .bash_profile auskommentiert habe, und es funktioniert immer noch. Ich habe auch den Inhalt von process.env
in einem anderen Beispielskript überprüft und festgestellt, dass die Werte in Webstorm vs. Terminal völlig unterschiedlich sind.
Das Skript:
var phantom = require('phantom');
phantom.create(function(ph) {
return ph.createPage(function(page) {
return page.open("http://www.google.com", function(status) {
console.log("opened google? ", status);
return page.evaluate((function() {
return document.title;
}), function(result) {
console.log('Page title is ' + result);
return ph.exit();
});
});
});
});
Terminal-Ausgang (funktioniert super!):
opened google? success
Page title is Google
WebStorm Konsolenausgabe (versagt):
/usr/local/bin/node phantom.js
phantom stderr: execvp(): No such file or directory
Process finished with exit code 0
Wenn Sie auf Mac sind, überprüfen Sie diese Frage: http://apple.stackexchange.com/q/51677. – CrazyCoder