我想将我的Hubot封装在一个windows服务中来部署它。
我正在使用节点窗口来完成这个任务,但是我在试图让它运行一个咖啡脚本文件时遇到了一些困难(这就是hubot所使用的)。
如果我手动运行
> coffee .\node_modules\hubot\bin\hubot一切都很好。
但是我想不出如何从一个节点窗口脚本中调用它。我的尝试如下:
var Service = require('node-windows').Service;
var svc = new Service({
name:'Hubot',
description: 'Hubot',
script: 'coffee .\\hubot\\node_modules\\hubot\\bin\\hubot'
});
svc.on('install',function(){
svc.start();
});
svc.install();在以下情况下失败:
C:\Users\luke.mcgregor\hubot>node app.js fs.js:747返回binding.mkdir(pathModule._makeLong(路径)),^ Error: ENOENT,在C:\Users\luke.mcgregor\AppData\Roaming\npm\node_modules\node-windows\lib\daemon.js:409:16 at FSReqWrap.cb 不完全的Object.fs.mkdirSync (fs.js:747:18)错误时没有这样的文件或目录“C:\Users\luke.mcgregor\hubot\coffee.\hubot\node_modules\hubot\bin\daemon”(本机)
发布于 2015-11-10 11:54:16
script不是命令,而是文件的路径。通过设置execPath环境变量:https://github.com/coreybutler/node-windows/issues/61#issuecomment-51423542,可以更改节点窗口使用的可执行文件来运行脚本。
https://stackoverflow.com/questions/33558393
复制相似问题