2012-07-11 116 views
0

我有以下代碼(從the node docs複製除了命令本身):child_process EXEC返回神祕錯誤

var util = require('util'), 
    exec = require('child_process').exec, 
    child, 
    command = 'libreoffice --headless -convert-to pdf mysourcefile.doc -outdir /tmp'; 
child = exec(command, 
      function (error, stdout, stderr) { 
       if (error !== null) { 
       console.log(error); 
       return; 
       } 
      ); 

命令似乎執行精細(輸出文件是存在的),但誤差總是「錯誤:命令失敗:「和err沒有定義(文檔說err.code將提供更多信息)。

我在做什麼錯/俯瞰?

+2

我想你想'error.code'。 – ebohlman 2012-07-11 20:55:04

+0

有趣的兩年後,似乎我只是發佈了同樣的錯誤.http://stackoverflow.com/questions/21132657/nodejs-child-process-exec-java-version – oak 2014-01-15 12:27:58

回答

1

它應該是error.code

該文檔混合使用errorerr;它指的是提供給回調的Error對象。

+0

from nodejs docs「成功後,錯誤將會null。錯誤時,錯誤將是Error的一個實例,err.code將是子進程的退出代碼,err.signal將被設置爲終止進程的信號。「 – oak 2014-01-15 12:30:31

1

像我說的。幾年後。我得到了同樣的錯誤。只要找到可能的錯誤 - 結帳(https://stackoverflow.com/a/21137820/1211174)。如果你在windows上,你有可能在cmd上運行一些自動運行。然後這個自動運行失敗。你會得到兩個輸出。 sterr和stdout