2013-05-09 14 views
1

爲什麼使用node.js中的EXEC:爲什麼node.js找不到avconv?

child = exec("avconv -i " + result.params.fullDestinationFilename + " -ab 128k -vcodec libx264 -vb 2000k -r 24 -s 1280x720 " + convertedFileName720p + ".mp4", function (error, stdout, stderr) { 
    sys.print('stdout: ' + stdout); 
    sys.print('stderr: ' + stderr); 
    if (error !== null) { 
     console.log('exec error: ' + error); 
    } 
    console.log("CONVERTED!"); 
}); 

我得到一個錯誤:

exec error: Error: Command failed: /bin/sh: avconv: command not found 

在bash,我可以正常地執行它。 對於node.js開發,我使用nodeclipse。

+2

你自己的'$ PATH'和節點的PATH有什麼區別?給我avconv – 2013-05-09 12:56:56

+1

的完整路徑是比較安全的,因爲我在首選項中看到它是空的。但全路徑是唯一最快捷的解決方案。謝謝 – static 2013-05-09 21:59:15

回答

0

僅供參考

var exec = require('child_process').exec; 
exec("ls -la");  
0

由於功能要求mark a comment as an answer繼續下降,我在這裏複製上面的解決方案。

你自己的$ PATH和節點的PATH有什麼不同?給予avconv - glenn jackman的完整路徑會更安全,因爲我在首選項中看到它是空的。但全路徑是唯一最快捷的解決方案。謝謝 - 靜態