我一直在使用PM2運行和監控節點進程一段時間,它工作正常,直到我嘗試使用巴貝爾。PM2和巴貝爾總是「端口正在使用」
我不確定什麼是真正的問題,但是當我用babel開始一個項目時,它不能停止顯示Port 3000 is already in use
。
該項目是另一個的副本。除package.json
中的scripts
外,它們幾乎相同。
"scripts": {
"start": "npm run babel | node ./bin/www",
"babel": "./node_modules/.bin/babel server -d lib"
}
和原來的要簡單得多
"scripts": {
"start": "node ./bin/www"
}
我用run process.json
啓動這一進程,並與巴別塔項目中添加"exec_interpreter": "babel-node"
。
我還爲複製項目安裝了一些新軟件包,包括babel,babel-core,babel-loader,react,react-dom,react-hot-loader,webpack和webpack-dev-server。我改變了代碼從ES5到ES6一樣,這就是爲什麼我用巴貝爾。(是的,我想用反應和轉移基於一般快遞項目ES6)
當我重新啓動我的Mac和運行原始沒有巴貝爾的項目,一切都很好。然後我停止了這個過程,並繼續用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命名爲谷歌的過程(我使用鉻)正在使用的端口。即使我殺了這個過程,它會重新出現(使用不同的pid)。
我不知道是什麼問題。