Error Directory

Real solutions for the most common deployment and development errors.

Missing environment variable

Your code asked for a configuration value by name and got nothing back. It works on your machine because your local .env file has it; the server you deployed to does not.

An import points at something that isn't there

A file asked to import something, and the bundler could not find it. Either the package is not installed, or the path is wrong.

The request never got an answer

Your browser tried to reach a URL and the conversation never completed. This is a connection problem, not a code logic problem.

CORS blocked it

Your server answered, but did not say your website is allowed to read the answer, so the browser threw it away. The block happens in the browser, on purpose.

401 — the server doesn't know who you are

You are not authenticated. Either no credentials were sent, or the ones sent are expired or invalid.

403 — it knows who you are and says no

You are authenticated, but the rules say this identity may not do this thing. That is authorisation, not authentication.

404 — reached something, that something has nothing there

Your request arrived successfully. Whatever answered it could not find what you asked for. That is very different from 'the server is down'.

500 — your server code crashed

The request arrived, your own code ran, and it threw an exception. The browser can only tell you it broke — the reason is in the server logs.

502 / 503 — the front door is up, the thing behind it isn't

A proxy or edge server took your request and could not get a healthy answer from the application behind it.

The database doesn't have that table or column

Your query named something the database has never heard of. Your code and your schema have drifted apart.

Dependency installation failed

The package manager could not build a set of versions that satisfies everything your project asked for, or a download failed.

Your push was rejected

The remote repository has commits that your local copy does not. Git refuses to overwrite history it thinks you haven't seen.

Merge conflict

Two versions changed the same lines and Git refuses to guess which one is correct. It has marked both inside the file and is waiting for you.

You used a value that wasn't there yet

Something was undefined or null when your code tried to read from it. Usually data that hasn't arrived, or a name that's spelled differently than you think.

DNS can't answer for that name

The name is not resolving to an address yet — either the record is wrong, or the change simply hasn't spread.