2014-06-12 4 views
0

bins 폴더에서 casperjs와 phantomjs를 추출했습니다.phantomjs와 casperjs를 nodejs 스크립트와 함께 사용 하시겠습니까?

내 nodejs 응용 프로그램에서 casperjs를 사용하고 싶습니다.) (

Fatal: [Errno 2] No such file or directory; did you install phantomjs? 

이 exec.spawn와 phantomjs 및 casperjs를 사용하는 방법이 있나요 : 내 스크립트를 실행하면

var exec = require('child_process'), 
    path = require('path'); 

// Directory paths where I extracted phantomjs and casperjs. 
var phantomjs = path.resolve(__dirname, 'bins', 'phantomjs', 'phantomjs'); 
var casperjs = path.resolve(__dirname, 'bins', 'casperjs', 'bin', 'casperjs'); 

// I tried to edit the PATH but it doesn't work. 
// process.env.PATH = process.env.PATH + ':' + phantomjs; 
// process.env.PATH = process.env.PATH + ':' + casperjs; 

// Now launch a casperjs script and get result. 
var p = exec.spawn(casperjs, ['test.js']); 
p.stdout.on('data', function(data) { 
    console.log(data.toString()); 
}); 

, 나는 오류가 발생 :

이 내 현재 스크립트입니다 ?

편집 : 문제가 발견되어 시스템 경로에 잘못된 경로를 추가했습니다.

파일의 경로를 추가했지만 바보 같으므로 디렉토리 경로를 추가해야합니다!

이 올바른 코드 :

여기 간부와
var exec = require('child_process'), 
    path = require('path'); 

// Directory paths where I extracted phantomjs and casperjs. 
var phantomjs = path.resolve(__dirname, 'bins', 'phantomjs'); 
var casperjs = path.resolve(__dirname, 'bins', 'casperjs', 'bin'); 

// console.log(process.env.PATH); 
process.env.PATH = process.env.PATH + ':' + phantomjs; 
process.env.PATH = process.env.PATH + ':' + casperjs; 
// console.log(process.env.PATH); 

// Now launch a casperjs script and get result. 
var p = exec.spawn('casperjs', ['test.js']); 
p.stdout.on('data', function(data) { 
    console.log(data.toString()); 
}); 
+2

당신이 HTTP [NPM] (에서 설치하려고 했나 /casperjs.readthedocs.org/en/latest/installation.html#installing-from-npm)? '-g' 플래그를 사용하십시오. 당신은 그런 PATH 문제가 없을 것입니다. – Fanch

답변

0

(나는 부활과 시도하지 않았다) :/:

var exec = require("child_process").exec; 

exec('casperjs test scriptName.js',function(err,stdout,stderr){ 
    console.log('stdout: ' + stdout); 
}); 
관련 문제