XDE behavior unusable

Last week, I was using XDE in a very usable fashion. I would press the ‘restart’ button and XDE would:

  • Start Metro Bundler on some given port X
  • Indicate the same port X on the exp address next to the cog.
    Then I could press the ‘share’ button and see the app run on my phone.

I recently upgrated XDE and the port indicated for the Metro Bundler does not match that on the exp address. It NEVER does, even if I restart. Thus, when I share the project on my phone, there’s no project so the phone hangs.

I have a project due today. Help!

Maybe check to see if your phone and XDE is on the same network.

well, yes, they are. The problem I see is that XDE is saying “Starting Metro Bundler on port 19002.” While the exp address is “exp://www.xxx.yyy.zzz:19000” Before, XDE would (after a restart or two) sync up the 19000 and 19002, but now won’t even after many restarts.

Occasionally:

Uncaught Error: java.lang.Exception: Bundle return code: 500. With body: {“type”,“InternalError”,“errors”:,“message”:“Metro Bundler has encountered an internal error, please check your terminal error output for more details”)

No more details

XDE isn’t the only way to use Expo, have you tried snack.expo.io, or exp. Also could you share info about the computer / OS you are using.


I have

Encounterd this issue and I work on a mac. I would also recommend looking at the exp flags. Things like exp start --tunnel or exp start --lan are very reliable.

Also it’s worth noting that Metro Bundler is a part of React Native and not really Expo. Have you:

checked your terminal error output for more details

yet?

I’ve not ever used exp directly, xde will build my project and start the server – handy.
so, I’m not sure how to use exp to build and start.
no additional terminal output, unless it’s being sent elsewhere and I cannot see it.

The 500 (file not found) error is because exp is running on port 19000 and Metro Bundler is looking on port 19002. They used to sync up to the same port, now they don’t. The file IS there, it’s just that the two process are not talking on the same port. Please help.

is it a company computer? Maybe they have some task running on that port blocking expo.
The output would be pretty prominent if you use exp. It’s painless I promise <3

TL;DR: Go here: https://docs.expo.io/versions/v27.0.0/workflow/exp-cli

  1. Open a terminal (⌘ + ␣ then type terminal and hit enter (⏎) )
  2. Paste this in there: npm install -g exp and hit enter (⏎)
  3. Navigate to your projects root directory. You can do this by typing cd then dragging your project folder into the terminal
  4. Finally type exp start and now the project will be running ( assuming you stopped it in XDE )
  5. Open it on your phone
  6. Wait for the error to show up :grin:

thanks for your help, but pretty much the same as before:
I get a QR code (Metro Bundler) for port 19003 but exp is running at port 19000
the app starts but just hangs on my phone (cuz it’s not there?)
no additional errors

Starting Metro Bundler on port 19003.
Your URL is: exp://192.168.1.135:19000

If you’re having port issues, one thing that sometimes helps is to restart your computer. You can also see what programs are listening on what port, but generally trying to get back to a clean slate without the problematic state seems like a good principle.

There are also two ports: one for the manifest and one for Metro. You should expect to see two port numbers, usually 19000 and 19001.

actually, I’ve been having this port problem for over a year. Every time I restart the computer, I have this (usually-off-by-one) port problem and then, after one iteration, exp/xde fixes itself and it’s back in sync. Now, no, and please help.

If the Metro Bundler is working on port 19003, then my URL should be on port 19003.
This is a bug.

I should mention that my development machine is Ubuntu 16.04 Linux.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.