簡體   English   中英

PM2和babel始終“正在使用端口”

[英]PM2 and babel always “Port is in use”

我已經使用PM2運行和監視節點進程已有一段時間了,在我嘗試使用babel之前,它工作正常。

我不確定真正的問題是什么,但是當我使用babel啟動項目時,它無法停止顯示Port 3000 is already in use

該項目是另一個項目的副本。 除了package.jsonscripts外,它們幾乎相同。

"scripts": {
    "start": "npm run babel | node ./bin/www",
    "babel": "./node_modules/.bin/babel server -d lib"
}

原始的要簡單得多

"scripts": {
    "start": "node ./bin/www"
  }

我使用run process.jsonrun process.json ,並在項目中使用babel添加"exec_interpreter": "babel-node"

我還為復制項目安裝了一些新軟件包,包括babel,babel-core,babel-loader,react,react-dom,react-hot-loader,webpack和webpack-dev-server。 我將代碼從ES5更改為ES6,這就是我使用babel的原因(是的,我正在嘗試使用react並根據正常的快速項目轉移到ES6)

當我重新啟動Mac並運行沒有babel的原始項目時,一切都很好。 然后,我停止該過程,並繼續使用babel啟動該項目,該項目將繼續拋出Port 3000 is already in use

COMMAND    PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Google     394 brick   14u  IPv6 0x432e592f22d3b26b      0t0  TCP localhost:52261->localhost:hbci (CLOSE_WAIT)
Google     394 brick   16u  IPv6 0x432e592f22d397ab      0t0  TCP localhost:52262->localhost:hbci (CLOSE_WAIT)
Google     394 brick  213u  IPv6 0x432e592f246f87ab      0t0  TCP localhost:52264->localhost:hbci (CLOSE_WAIT)
node      1210 brick   13u  IPv6 0x432e592f22d377ab      0t0  TCP *:hbci (LISTEN)

我在外殼中使用lsof -i:3000 ,它顯示有一個節點進程,並且2-3個名為Google進程(我正在使用chrome)正在使用該端口。 即使我終止了該過程,它也會重新出現(具有不同的pid)。

我不知道出什么問題了。

在GitHub中解決了這個問題。 的確是案例通天塔。 解決方法之一是在條目文件中使用babel的require鈎子

可以在這里閱讀更多討論: https : //github.com/Unitech/pm2/issues/1643

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM