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.