开发项目用的工具插件,需要调用第三方的工具
举个例子:
系统安装了lame工具,在终端命令行窗口调用lame --help
能正常输出结果。
创建一个插件,在main.js里使用
child_process.execFile("lame",["--help"],function(error,stdout,stderr)
{
if (error)
{
Editor.log(error);
return;
}
Editor.log(stdout);
Editor.log(stderr);
})
会报 { Error: spawn lame ENOENT 错误,换成spawn和exec也是错误。
然后我新建一个main2.js文件,写上上面的代码,命令行用node main2.js
可以正常输出
然后,把插件代码写成/usr/local/bin/lame
,creator可以正常输出。
我猜测问题应该是creator 的electron模块执行node模块无法识别环境变量或者执行用户权限不同,不可能调用第三方都写全路径吧,所以求官方建议的最佳实践方法