大家好我正在制作我的第一个节点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);
}
});
答案 0 :(得分:2)
未找到命令问题是由于应用程序的PATH不等于系统路径。因此process.env.PATH不包含节点env:' / usr / local / bin'。 我已经想到的一种方法是使用节点env位置重置process.env.PATH。
在使用exec之前,请设置process.env.PATH,如下所示:
var isWin = /^win/.test(process.platform);
if (!isWin) {
process.env.PATH = process.env.PATH + ':/usr/local/bin';
}

答案 1 :(得分:0)
所以我花了一个小时试图修复它,它得到了它!以下是任何需要它的人
peerflix命令使用一个名为app.js的文件,所有我必须做的就是用nwjs运行,所以工作命令如下所示:
'./nwjs.app/contents/macos/nwjs ./source/node_modules/peerflix/app.js "'+q+'" --vlc'