![](/img/trans.png)
[英]Nodejs: Exec from child_process returns bin/sh: 1: command not found but works when writing manually in terminal?
[英]NWJS ('child_process').exec command not found
大家好,我正在制作我的第一個節點Webkit應用程序,一切正常。 直到我想“釋放”它。 我的應用程序使用子進程在命令行上運行命令,但是我安裝了需要使用npm install -g運行的模塊,因此它僅對我有用。 要嘗試解決此問題,我再次安裝了-g,但仍然找不到命令。 我該如何參考呢?
代碼:
var exec = require('child_process').exec,
child;
child = exec('peerflix "'+q+'" --vlc',function (error, stdout, stderr){
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
找不到命令的問題是由於應用程序的PATH不等於系統PATH。 因此,process.env.PATH不包含節點env:“ / usr / local / bin”。 我發現有一種方法是使用節點環境位置重置process.env.PATH。
在使用exec之前,像這樣設置process.env.PATH:
var isWin = /^win/.test(process.platform); if (!isWin) { process.env.PATH = process.env.PATH + ':/usr/local/bin'; }
所以我花了一個小時嘗試修復它,它做到了! 這是任何需要它的人的方法
peerflix命令使用一個名為app.js的文件,而我要做的就是使用nwjs運行該文件,因此工作命令如下所示:
'./nwjs.app/contents/macos/nwjs ./source/node_modules/peerflix/app.js "'+q+'" --vlc'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.