2017-05-10 9 views
2

最新のドッカーと最新のノード・イメージを使用しています。私はノードーンプロセスを開始するgulpfileを持っています。私は、--inspectフラグを使って実験的なchrome開発ツールデバッガを使いたいことを示しています。しかし、私がファイルを変更すると、それはノードをピックアップしてプロセスを再起動しますが、クラッシュします。私はそれが魔法のように動作--debugする--inspectフラグを変更した場合ノードモンを使用してドッカー・ノード・アプリがファイル変更時に常にクラッシュする

Starting inspector on 0.0.0.0:9229 failed: address already in use

gulp.task('start:dev', done => { 
    let started = false; 
    nodemon({ 
    script: path.join(__dirname, 'index.js'), 
    ext: 'js json', 
    nodeArgs: ['--inspect=0.0.0.0:9229'], 
    watch: path.join(__dirname, 'express'), 
    legacyWatch: true 
    }) 
    .on('start',() => { 
    // to avoid nodemon being started multiple times 
    if (!started) { 
     setTimeout(() => done(), 100); 
     started = true; 
    } 
    }); 
}); 

そして、ここではエラーである:ここでは

は私の一気タスクです。

私は、再起動プロセスが速すぎて--inspectがポートを解放できないと考えています。別のファイルを変更した場合、正常に動作し、正常に再起動します。おそらく、ポートを解放する時間があったからでしょう。

私はノードーンで遅延を使用しようとしましたが、私はむしろそうしたくありません。クイックリスタートが欲しいです。そして、再起動と終了のようなイベントを使って数秒待ってから、gulpタスク全体を再開しようとしました。しかし、それは気まずいものだったし、もう一度一緒にハックしなくてもすぐに再起動したい。

今はちょうど--debugに戻っていますが、最新のV8では廃止予定です。彼らは--inspectを使用することを推奨しています。

唯一の方法は、私のバージョンのノードをロックダウンすることでしょうか?

提案がありますか?

+0

を再起動します。ほとんど解決策ではありませんが、*働いています... –

答えて

1

ただインスペクタを殺して再度インスペクタを起動してください ここに私たちのチームの解決策は、package.jsonです。 あなたは私が唯一の方法は殺す-port`を下記の推奨されているように `を使用することがわかったより良いキルインスペクタのプロセスを持っていたし、その後、インスペクタ

"inspect": "kill-port --port 9229 && node --inspect=0.0.0.0:9229 build/startup.js", "start_watch_inspect": `nodemon --delay 80ms --watch build/ build/startup.js --exec 'npm run inspect'`

+0

あなたの答えを書いた方法を見てください。これらのトリプルシングルクォートは答えの一部ですか?書式設定の問題! – GhostCat

関連する問題