Search code examples
portionic2ionic-cli

Cant run multiple projects with ionic serve


Im working with ionic2. Below is all the info produced by ionic info. Im basically working on two different ionic projects and I would like to serve both of them at the same time. One project is loaded on port 8000 by default when doing ionic serve. I tried to change the port of the second by using ionic serve --port 8101. But that doesn't start the second project.

This is the following error:

> ionic-hello-world@ ionic:serve /Users/vramos/Workspace/visitorapp
> ionic-app-scripts serve "--port" "8100"

[21:34:57]  ionic-app-scripts 0.0.44 
[21:34:57]  watch started ... 
[21:34:57]  build dev started ... 
[21:34:57]  clean started ... 
[21:34:57]  clean finished in less than 1 ms 
[21:34:57]  copy started ... 
[21:34:57]  transpile started ... 
 events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE 0.0.0.0:53703
    at Object.exports._errnoException (util.js:1007:11)
    at exports._exceptionWithHostPort (util.js:1030:20)
    at Server._listen2 (net.js:1253:14)
    at listen (net.js:1289:10)
    at net.js:1399:9
    at _combinedTickCallback (internal/process/next_tick.js:77:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)
    at Module.runMain (module.js:577:11)
    at run (node.js:348:7)
    at startup (node.js:140:9)

npm ERR! Darwin 15.6.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run"
    "ionic:serve" "--" "--port" "8100"
npm ERR! node v6.2.2
npm ERR! npm  v3.9.5
npm ERR! code ELIFECYCLE
npm ERR! ionic-hello-world@ ionic:serve: `ionic-app-scripts serve "
--   port" "8100"`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the ionic-hello-world@ ionic:serve script 'ionic-
 app-  scripts serve "--port" "8100"'.
 npm ERR! Make sure you have the latest version of node.js and
npm   installed.
 npm ERR! If you do, this is most likely a problem with the 
ionic-hello-  world package,
 npm ERR! not with npm itself.
 npm ERR! Tell the author that this fails on your system:
 npm ERR!     ionic-app-scripts serve "--port" "8100"
 npm ERR! You can get information on how to open an issue for
 this project  with:
 npm ERR!     npm bugs ionic-hello-world
 npm ERR! Or if that isn't available, you can get their info via:
 npm ERR!     npm owner ls ionic-hello-world
 npm ERR! There is likely additional logging output above.

 npm ERR! Please include the following file with any support request:
 npm ERR!     /Users/vramos/Workspace/visitorapp/npm-debug.log
 There was an error serving your Ionic application: There was
  an error   with the spawned command: serve

ionic info

Edit (11/16/2016): So running the second project with ionic serve --port 3000 --dev-log-server 8101 worked. I still got an error in the terminal though, just fyi.

enter image description here


Solution

  • The error is

    Error: listen EADDRINUSE 0.0.0.0:53703

    So at some point ionic is trying to use port 53703, which is unavailable.

    $ grep -rns 53703 *
    node_modules/@ionic/app-scripts/dist/dev-server/dev-server.js:104:var DEV_LOGGER_DEFAULT_PORT = 53703;
    

    When I run two instances of ionic as you have, nothing in my system uses port 53703.

    That being said I'm running ionic-app-scripts 0.0.39, which is the version that ships with the rc2 tutorial.

    Few options:

    • try passing an alternative dev logger port (via --dev-logger-port)
    • use lsof to find out what's holding port 53703 and kill that process (lsof | grep 53703)
    • try downgrading ionic-app-scripts to 0.0.39