I ran into a snag following instructions for installing TiddlyServer on a Pi:
https://www.didaxy.com/tiddlyserver-on-the-raspberry-piRunning for localhost works fine, but trying put it on the LAN generates an EADDRINUSE exception, no matter which port is used, which was a head-scratcher because a single Tiddlywiki server works fine.
The problem is probably that Raspbian Stretch changed a lot of networking behavior, and node.js is in fast-moving state of flux. (v8.9.1)
Stretch generates interfaces for lo, eth0 and wlan0, even if the wifi isn't being used.
Listening for host 0.0.0.0 tries all the interfaces, and goes boom.
The solution/workaround is to use the exact IP address of the correct interface. (I've assigned fixed IP addresses on the LAN, so that isn't a problem for me.) It's working fine now, thanks!
{ Error: listen EADDRINUSE
0.0.0.0:8888 at Object._errnoException (util.js:1024:11)
at _exceptionWithHostPort (util.js:1046:20)
at Server.setupListenHandle [as _listen2] (net.js:1351:14)
at listenInCluster (net.js:1392:12)
at doListen (net.js:1501:7)
at _combinedTickCallback (internal/process/next_tick.js:141:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
at Function.Module.runMain (module.js:678:11)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
code: 'EADDRINUSE',
errno: 'EADDRINUSE',
syscall: 'listen',
address: '0.0.0.0',
port: 8888 }
caught process uncaughtException