将nodejs app用作Windows服务会导致EPERM-4048错误

时间:2017-11-28 15:51:48

标签: node.js windows service node-modules

我正在使用“node-windows”来创建将运行我的app.js服务器的服务 在窗户上。 这是制作服务的代码(使用node-windows模块) -

var Service = require('node-windows').Service;

// Create a new service object 
var svc = new Service({
  name:'Demo Landing Page',
  description: 'The nodejs.org example web server.',
  script: 'app.js'
});

// Listen for the "install" event, which indicates the 
// process is available as a service. 
svc.on('install',function(){
  svc.start();
});

svc.install();

一切都适用于脚本,但这一行用于阅读目录内容 -

fs.readdir([PATH], function(err, builds)

这是我得到的错误 -

{Error: EPERM: operation not permitted, scandir [PATH]
  errno: -4048,
  code: 'EPERM',
  syscall: 'scandir',
  path: 'app.js' }

但如果我不是作为服务运行 - 就像 -

node app.js

一切正常,权限很好。

为了解决这个问题,我该怎么办? 或者在Windows服务器上运行nodejs还有另一种选择吗?

谢谢!

**我以管理员身份登录,我可以访问以下目录

0 个答案:

没有答案