节点永远错误

我试图永远使用节点,但是当我尝试启动它时出现错误。

我把这个文件叫做start.js

var forever = require('forever-monitor'); var child = new (forever.Monitor)('app-index.js', { 'silent': false, 'watch': true, 'logFile': '/srv/http/mywebsite.com/logs/forever.log', // Path to log output from forever process (when daemonized) 'outFile': '/srv/http/mywebsite.com/logs/node-stdout.log', // Path to log output from child stdout 'errFile': '/srv/http/mywebsite.com/logs/node-stderr.log' // Path to log output from child stderr }); child.on('exit', function () { console.log('admin/app-index.js has exited'); }); child.start(); 

这是当我运行节点start.js时会发生什么

 path.js:360 throw new TypeError('Arguments to path.join must be strings'); ^ TypeError: Arguments to path.join must be strings at path.js:360:15 at Array.filter (native) at Object.exports.join (path.js:358:36) at exports.attach (/srv/http/mywebsite.com/public/admin/node_modules/forever-monitor/lib/forever-monitor/plugins/watch.js:45:20) at Object.bootstrap (/srv/http/mywebsite.com/public/admin/node_modules/forever-monitor/lib/forever-monitor/monitor.js:35:28) at exports.App (/srv/http/mywebsite.com/public/admin/node_modules/forever-monitor/node_modules/broadway/lib/broadway/app.js:47:21) at new exports.Monitor (/srv/http/mywebsite.com/public/admin/node_modules/forever-monitor/lib/forever-monitor/monitor.js:118:16) at Object.<anonymous> (/srv/http/mywebsite.com/public/admin/start.js:3:15) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) 

任何帮助?

问题是你有watch: true集,但没有设置watchDirectory

默认情况下, watchDirectory为null,但它必须是一个stringpath。 这似乎没有文件logging。

在你的情况下,以下应该可以解决你的问题:

 var child = new (forever.Monitor)('app-index.js', { 'silent': false, 'watch': true, 'watchDirectory': '/srv/http/mywebsite.com/public/', // ... etc. });