web-dev-qa-db-ja.com

pm2は 'npm start'スクリプトを実行できますか

Pm2がnpm起動スクリプトを実行する方法はありますか、それともpm2 start app.jsを実行するだけですか?

開発中です

npm start

それからpm2のプロダクションでは、次のように実行します。

pm2 start 'npm start'

永遠にこれを行うための同等の方法があります。

forever start -c "npm start" ./

125
svnm

PM2はnpm startをサポートします。

pm2 start npm -- start
263
Dhaval Chauhan

Pm2プロセスを実行するために.jsonファイルのような設定スクリプトを使用している人はnpm startまたはこのような他のスクリプトを使用することができます -

my-app-pm2.json

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

それから単純に -

pm2 start my-app-pm2.json

編集 - この設定スクリプトを親ディレクトリに置き、サブディレクトリでアプリを起動する場合のユースケースを処理するには、cwdを使用します。属性。

我々のアプリがこの設定ファイルに関連したサブディレクトリnested-appにあると仮定すると -

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

もっと詳しく ここ

63
Jyotman Singh

はい。 pm2 start npm --no-automation --name {app name} -- run {script name}を使用してください。できます。 --no-automationフラグがあります それがなければPM2はクラッシュしてもあなたのアプリを再起動しませんので

23
jcollum

以下にシェルスクリプトを書きました(start.shという名前)。私のpackage.jsonにはprestartオプションがあるからです。だから私はnpm startを実行したいのです。

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

次にpm2でstart.shを起動します。

pm2 start start.sh --name appNameYouLike
23
peccu

npm runを使用する

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

11
carkod

クラスタリングを有効にします。

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

どう思いますか?

7
jdnichollsc

はい、できるようになりました。pm2はnpm startをサポートし、 - nameからspecies app nameに対応します。

pm2 start npm --name "app" -- start
3
KARTHIKEYAN.A

残念ながら、スクリプトstart:prodを実行するのは運が悪いです。

"scripts": {
   "start:prod": "node index.js"
},

コマンドpm2 start npm -- run start:prodがクラッシュしました

1

残念ながら、pm2はあなたが要求した正確な機能をサポートしていないようです https://github.com/Unitech/PM2/issues/1317

代わりの方法としては、ecosystem.jsonファイルを使うことです デプロイメントのはじめに これにはプロダクション環境と開発環境のセットアップを含めることができます。ただし、これはまだnpm startを使用してアプリをブートストラップしています。

1
snozza
pm2 start ./bin/www

走れます

複数のサーバーを配置したい場合は、それを実行できます。 pm2ではなくstart npm - start

0
劉謹賢

今、あなたは後に使用することができます:

pm2 start npm -- start

続きます https://github.com/Unitech/pm2/issues/1317#issuecomment-220955319

0
Minh Dao

開始する前にスペースを忘れないでください

pm2 start npm --[space]start

正しいコマンドは次のとおりです。

pm2 start npm -- start
0
Vidura Adikari