2015-04-27 6 views
14

Применение управляетсяDebug приложение, которое выполняется с помощью PM2

pm2 start app.js 

или

pm2 start config.json 

Я хочу, чтобы отлаживать локально с помощью node_inspector. Я добавил debug аргумент

pm2 start --node-args="--debug=7000" app.js 

Он отлично работает, но если я обеспечиваю config.json вместо сценария app.js я не знаю, как передать аргументы о отлаживать. Следующий фрагмент конфигурации не работает

{ 
    "apps": [ 
    { 
     "name": "myName", 
     "script": "app.js", 
     "args": "['--debug=7000']" 
     ............ 
     } 
    ] 
} 

Итак, как отлаживать приложение, которое выполняется pm2 и с помощью config?

ответ

31

Вы почти там, используйте node_args вместо args:

  • args ваши аргументы сценария
  • node_args являются аргументы, которые передаются в узел исполняемым

    { 
        "name": "myName", 
        "script": "app.js", 
        "node_args": ["--debug=7000"] 
    } 
    

PM2 json schema.

+0

Я новичок в узле и pm2, так что произойдет, если мы добавим этот аргумент? Будет ли он добавлять журналы отладки в pm2.log? –

+0

Nope '--debug' в' node_args' соответствует внутреннему [узлу отладки узла] (https://nodejs.org/api/debugger.html). – soyuka

+2

Если после этого у пользователя по-прежнему возникают проблемы с настройкой отладки, в моем случае мне пришлось отключить режим кластера, чтобы настройка отладки была эффективной. Также обратите внимание, что вам не нужны скобки в значении node_args, если вы передадите все аргументы как одну строку. – Herick

Смежные вопросы