sab*_*ari 1 port node.js livereload gulp
我为我的mean-io堆栈应用程序运行gulp.
我得到以下错误.
13:15:54] Starting 'server'...
13:15:54] Finished 'server' after 47 ms
13:15:54] Live reload server listening on: 35729
.. Uhoh. Got error listen EADDRINUSE ...
rror: listen EADDRINUSE
at errnoException (net.js:901:11)
at Server._listen2 (net.js:1039:14)
at listen (net.js:1061:10)
at Server.listen (net.js:1127:5)
Run Code Online (Sandbox Code Playgroud)
我猜其他应用程序正在使用端口35729.我对吗?我也尝试更改livereload.js中的端口号.但是,我得到了同样的错误.
以下是文件,我看到分配的35729端口号.如果要在任何地方更改端口号,请告诉我.
myApp\node_modules\grunt-contrib-watch\node_modules\tiny-lr-fork\lib\public\livereload.js:
321: this.port = 35829;
myApp\node_modules\grunt-contrib-watch\node_modules\tiny-lr-fork\lib\server.js
20: options.port = parseInt(options.port || 35729, 10);
myApp\node_modules\grunt-contrib-watch\node_modules\tiny-lr-fork\node_modules\noptify\index.js:
21: // .option('port', '-p', 'Port to listen on (default: 35729)', Number)
myApp\node_modules\grunt-contrib-watch\node_modules\tiny-lr-fork\bin\tiny-lr:
14: .option('port', '-p', 'Port to listen on (default: 35729)', Number)
18: opts.port = opts.port || 35729;
Run Code Online (Sandbox Code Playgroud)
谢谢.
Rya*_*lah 10
在使用时gulp
,我发现有时终止我的进程将无法关闭livereload
端口35729 上的连接.这会留下一个打开的文件描述符侦听该端口,这将使得很难再次启动我的服务器,因为gulp
会抱怨一旦它启动livereload
.
有时你不知道拥有连接的进程的名称,所以很难找到并杀死它.要列出使用TCP在端口上侦听的处理器打开的文件,可以使用该lsof -n -i4TCP:#####
命令.在这种情况下,你得到:
$ lsof -n -i4TCP:35729
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 15723 testuser 24u IPv6 0x71823b3990749ea5 0t0 TCP *:35729 (LISTEN)
Run Code Online (Sandbox Code Playgroud)
现在你有了正在试图访问的端口的进程的PID,所以你可以用它来杀死它
$ kill -9 15723
Run Code Online (Sandbox Code Playgroud)
现在运行gulp
应该工作得很好:)