2

node-forever を使用しようとしていますが、起動しようとするとエラーが発生します。

このファイルを 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();

node 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)

ヘルプはありますか?

4

1 に答える 1

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.
});
于 2014-10-14T18:56:02.150 に答える