2013-03-28 2 views
2

Я пытаюсь использовать node-forever, но я получаю сообщение об ошибке, когда пытаюсь запустить его.Ошибка узла Node

Я назвал этот файл 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) 

помощь?

ответ

2

Проблема в том, что у вас есть watch: true комплект, но не установлен watchDirectory.

По умолчанию watchDirectory имеет значение null, но это должен быть строковый путь. Это, как представляется, плохо документировано.

В вашем случае, следующий должен решить проблему:

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