글

Error: listen EADDRINUSE: address already in use :::3000 - 10 Causes and Fixes

이미지
You started your server and got Error: listen EADDRINUSE: address already in use :::3000 . It means exactly what it says: something already has port 3000 bound, and the operating system refused to hand it to your process. The :::3000 part is not a typo. Those three colons are an abbreviated IPv6 wildcard address ( :: ) followed by the port, so your server asked for every interface on port 3000 and lost. Ninety percent of the time the culprit is your own previous run that never fully exited. The rest of the time it is a second copy of your app, a Docker publish rule, a dev server with hot reload, a system service, or a bug in your own code that calls listen() twice. This page gives you the one-line fix first, then ten distinct causes with reproductions, then a checklist for the cases that do not match any of them. Error Error: listen EADDRINUSE: address already in use :::3000 Where it happens Node.js (any version) - Express, Fastify, Next.js, NestJS, Vite, webpack-dev-serve...

fatal: repository 'repo.git' does not exist - 10 Causes and Fixes

이미지
You ran git clone , git push , or git fetch and Git answered with fatal: repository 'repo.git' does not exist . That message means the Git server (or the local path) accepted your connection but refused to hand you a repository at the path you asked for. The word fatal here is Git's standard prefix for "I am stopping now" — it is not a crash and it is not corruption. The quoted part is the path Git actually resolved, which is frequently not the path you think you typed. The trap is that this single message covers two very different situations: the repository genuinely is not there, or the repository is there but the identity you authenticated as is not allowed to see it. Most Git hosts deliberately return "does not exist" instead of "permission denied" for private repositories, so a wrong SSH key produces the exact same wording as a typo. This page walks the fastest fix first, then ten distinct causes with reproductions, then a checklist ...

TS2304: Cannot find name 'variable'. - 10 Causes and Fixes

이미지
TS2304: Cannot find name 'variable'. is the TypeScript compiler telling you that an identifier you used has no declaration it can see from that position in the file. The name 'variable' in the message is a placeholder for whatever identifier you actually wrote — window , process , describe , MyType , or a plain typo. This is a resolution error, not a type-mismatch error. TypeScript is not saying your value is the wrong shape; it is saying there is no binding with that name in lexical scope, no import that brings it in, and no ambient declaration in the program's type environment. That means there are only three real fix categories: declare it, import it, or widen the type environment ( lib , types , @types/* , include ). Everything below is a concrete instance of one of those three. Causes are ordered most common first. Each one has a reproduction you can paste into a file, the fix, and a way to confirm the fix landed. Error TS2304: Cannot find name ...

502 Bad Gateway (nginx) - 10 Causes and Fixes

이미지
You got a 502 Bad Gateway (nginx) page instead of your app. That means nginx accepted the browser's request, tried to hand it to your upstream (your Node/PHP-FPM/Gunicorn/Java process), and got back nothing it could use as a valid HTTP response. The critical thing: nginx is almost never the problem . nginx is the messenger telling you the thing behind it is down, not listening where nginx thinks it is, too slow, or returning garbage. So the browser is a dead end for debugging. The answer is always in /var/log/nginx/error.log , and that log names the exact failure mode in one line. This page starts with the one command that identifies your case, then walks the 10 causes in order of how often they bite in production, each with a reproduction, a fix, and a way to confirm it. Error 502 Bad Gateway nginx/1.24.0 Where it happens nginx as a reverse proxy or FastCGI gateway, in front of any upstream: Node.js, PHP-FPM, Gunicorn/uWSGI, Puma, Tomcat, or another nginx. Appears at th...