Подтвердить что ты не робот

Может ли pm2 запустить "npm start" script

Есть ли способ для pm2 запускать npm start script или вам просто нужно запустить pm2 start app.js

Итак, в разработке

npm start

Тогда в производстве с pm2 вы будете запускать что-то вроде

pm2 start 'npm start'

Существует эквивалентный способ сделать это навсегда

forever start -c "npm start" ./

4b9b3361

Ответ 1

PM2 теперь поддерживает запуск npm:

pm2 start npm -- start

Ответ 2

Те, кто использует конфигурацию script, как файл .json для запуска процесса pm2, могут использовать npm start или любой другой script как это -

мой-приложение-pm2.json

{
    "apps": [
        {
            "name": "my-app",
            "script": "npm",
            "args" : "start"
        }
    ]
}

Тогда просто -

pm2 start my-app-pm2.json

Изменить. Чтобы обрабатывать прецедент, когда у вас есть эта конфигурация script в родительском каталоге и вы хотите запустить приложение в подкаталоге, используйте атрибут cwd.

Предположим, что наше приложение находится в подкаталоге nested-app относительно этого файла конфигурации, затем -

{
    "apps": [
        {
            "name": "my-nested-app",
            "cwd": "./nested-app",
            "script": "npm",
            "args": "start"
        }
    ]
}

Подробнее здесь.

Ответ 3

Я написал оболочку script ниже (с именем start.sh). Потому что мой package.json имеет параметр prestart. Поэтому я хочу запустить npm start.

#!/bin/bash
cd /path/to/project
npm start

Затем запустите start.sh через pm2.

pm2 start start.sh --name appNameYouLike

Ответ 5

См., чтобы включить кластеризацию:

pm2 start npm --name "AppName" -i 0 -- run start

Как вы думаете?

Ответ 6

К сожалению, похоже, что pm2 не поддерживает точные функции, которые вы запросили https://github.com/Unitech/PM2/issues/1317.

Альтернативой является использование файла ecosystem.json Начало работы с развертыванием, которое может включать в себя установки для производственной среды и среды разработки. Тем не менее, это все еще использует npm start для загрузки вашего приложения.

Ответ 8

Да, мы можем, теперь pm2 поддерживает запуск npm, --name к названию вида приложения.

pm2 start npm --name "app" -- start

Ответ 9

Чтобы использовать npm run

pm2 start npm --name "{app_name}" -- run {script_name}