2016-09-19 190 views
2

我有一块nodejs代码(link)阻塞。所以,我试图在子进程中运行它。节点webkit - 无法派生子进程(错误:产生EACCES)

我使用下面的代码叉一个子进程

var path = require('path'); 
    var nodeWebkitPath = path.dirname(process.execPath); 
    var childProcess = require('child_process'); 

    var macEventDetectorChildProcess = childProcess.fork("./node/worker/osxEventsDetector.js",{ 
     execPath : nodeWebkitPath 
    }); 

每次我尝试使用此代码运行我的应用程序我得到一个错误:

Time :[Mon Sep 19 2016 13:16:42 GMT+0530 (IST)] 
Error: spawn EACCES 
    at exports._errnoException (util.js:893:11) 
    at ChildProcess.spawn (internal/child_process.js:302:11) 
    at exports.spawn (child_process.js:367:9) 
    at Object.exports.fork (child_process.js:54:10) 
    at Object.<anonymous> (/Users/Maneesh/Documents/productiveOne/productivity-front-desktopapp/src/nodeBootstrap.js:17:53) 
    at Module._compile (module.js:431:34) 
    at Object.Module._extensions..js (module.js:446:10) 
    at Module.load (module.js:375:32) 
    at Function.Module._load (module.js:332:12) 
    at Function.Module.runMain (module.js:483:10) 

通过一些其他答案阅读它似乎是一些权限相关的错误,但即使更改我的项目文件夹的权限后,我得到此错误。


其他信息:

  1. 操作系统 - 苹果
  2. 节点的Webkit版本 - 0.14.3


任何帮助/建议来解决这个问题将不胜感激。感谢Adavance。

回答

0

这是一个系统问题。尝试以管理员身份运行应用程序。

在Linux/Mac上,你可以使用sudo做到这一点:

sudo node app.js 

在Windows中,启动命令行管理员和正常运行的应用程序。

+0

我正在mac机器上运行我的node-webkit应用程序。已经尝试sudo nw。 (启动应用程序的命令)。尽管在Windows上尝试它,看它是否在那里工作。 –