3
Node.js에서 Java를 사용하는 응용 프로그램을 빌드하고 있습니다. Java가 Node.js에서 설치되었는지 확인하십시오.
function javaversion() {
var spawn = require('child_process').spawn('java', ['-version']);
spawn.stderr.on('data', function(data) {
data = data.toString().split('\n')[0];
var javaVersion = new RegExp('java version').test(data) ? data.split(' ')[2].replace(/"/g, '') : false;
if (javaVersion != false) {
// TODO: We have Java installed
} else {
// TODO: No Java installed
}
});
}
그러나 자바, Node.js를 던지고있다 ENOENT 오류가 설치되지 않은 시스템
모듈 "child_process"때문에 그냥 프로세스를 생성 할 수 없습니다 나는 자바 버전을 확인하는 기능을했다. Java가 Node.js에서 설치되었는지 어떻게 확인할 수 있습니까?감사합니다.
classpath 또는 ...와 같은 환경 변수를 검사 해 보았습니까? 그리고 바이너리를 찾고 있습니까? – WiredPrairie
@WiredPrairie 예, 고려했습니다.하지만 모든 시스템에서 좋은 생각은 아닙니다. 예를 들어, OS X 10.8에서는 CLASSPATH가 설정되지 않습니다. Sudsy가 제안한 것처럼 프로세스를 생성하지 않는 오류를 처리하는 문제를 해결했습니다. 고맙습니다. – Formiga
Windows 설치 프로그램마다 Java가 설치되었지만 경로에 있지 않으므로이 방법은 완전히 실패합니다. 그래서, "모든 시스템"을위한 좋은 해결책처럼 보이지는 않습니다. – WiredPrairie