Skip to content
Nilay Kabariya

Home · Topic · 25 entries

Node.js, npm and framework errors on Windows, fixed

A lot of JavaScript tooling is written and tested on macOS and Linux, and Windows is where its assumptions break: .cmd launchers that some tools cannot start, case-insensitive paths that hide bugs until CI, native binaries built for the wrong platform, folder permissions a security check rejects, and ports that stay taken. Every entry below was reproduced on a real Windows 11 machine, and where it matters, run again on Linux to show which failures only happen on Windows.

Entries

  1. No.094

    Python CERTIFICATE_VERIFY_FAILED, tested on 3.12 to 3.15

    certificate verify failed: unable to get local issuer certificate, or Basic Constraints of CA cert not marked critical on Python 3.13+. Each cause tested.

    > requests.exceptions.SSLError: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/

    FIXED3 minWindows
  2. No.093

    Fix: bigint Failed to load bindings, pure JS will be used

    bigint: Failed to load bindings, pure JS will be used. Why npm 12 shows it on every install, whether it matters, and how to get the native build back.

    > bigint: Failed to load bindings, pure JS will be used (try npm run rebuild?)

    FIXED3 minWindows
  3. No.075

    Python was not found, or pip not recognized (Windows fix)

    "Python was not found" comes from a Microsoft Store placeholder python.exe, not Python, and exits with 9009. How to see which python.exe wins, and the pip fix.

    > Python was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings > Apps > Advanced app settings > App execution aliases.

    FIXED3 minWindows
  4. No.073

    Fix: git 'Filename too long' on Windows (clone, checkout)

    git clone fails on Windows with Filename too long and unable to checkout working tree. Reproduced with a 286-character path, plus how to rescue the clone.

    > error: unable to create file node_modules/@some-scope/…/an-equally-long-file-name-for-the-generated-component-module.js: Filename too long

    FIXED2 minWindows
  5. No.072

    npm error code ENOENT, and spawn npx ENOENT on Windows

    Read the path line first. On Windows, spawn npx ENOENT has a twist: adding .cmd now fails with EINVAL. Four ENOENT causes reproduced, each with its fix.

    > npm error code ENOENT

    FIXED3 minWindows
  6. No.071

    Fix: JavaScript heap out of memory (Node.js, tested)

    FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory. Default limits measured, and two ways the usual fix silently fails.

    > FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

    FIXED2 minWindows
  7. No.069

    Fix: EBUSY: resource busy or locked (npm, Windows)

    npm install and Node fail on Windows with EBUSY: resource busy or locked, rmdir. Reproduced: what holds the folder, how to find it, and why retrying fails.

    > npm error code EBUSY

    FIXED3 minWindows
  8. No.068

    Fix: self-signed certificate in certificate chain (npm)

    npm install and fetch() fail with SELF_SIGNED_CERT_IN_CHAIN behind a company proxy. Reproduced on Windows and Linux: which fixes work, and two that don't.

    > npm error code SELF_SIGNED_CERT_IN_CHAIN

    FIXED3 minWindows
  9. No.065

    No matching distribution found for torch: 5 causes, tested

    pip says Could not find a version that satisfies the requirement torch (from versions: none). Five causes reproduced on Windows, and the fix for each.

    > ERROR: Could not find a version that satisfies the requirement torch (from versions: none)

    FIXED4 minWindows
  10. No.064

    Fix: Microsoft Visual C++ 14.0 or greater is required

    pip install fails on Windows asking for Microsoft C++ Build Tools. Four causes reproduced, Failed building wheel for pyyaml fixed, and when Build Tools help.

    > error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/

    FIXED7 minWindows
  11. No.063

    Python 3.15 on Windows: which packages install (tested)

    Most of the stack is ready: numpy, pandas, scipy, scikit-learn, polars, pydantic, FastAPI, Django and the OpenAI and Anthropic SDKs all install on 3.15, and so do PyTorch (since torch 2.15.0) and sentencepiece (since 0.2.3). What fails on Windows: TensorFlow (no 3.15 builds at all), PyYAML and everything that needs it, such as transformers (no 3.15 wheel, so pip tries to compile it), jupyterlab, and langchain (Rust and C dependencies with no 3.15 wheels).

    TESTED10 minWindows
  12. No.058

    Claude Code, Codex, Gemini CLI on Windows: install tested

    All five install and start on Windows 11 with npm 11, in cmd, on Node 24 and Node 26. Two things trip people up. On a default Windows PowerShell setup all five fail with "running scripts is disabled on this system". And with npm 12, Claude Code and OpenCode install with no error but then refuse to start: "not compatible with the version of Windows you're running".

    TESTED6 minWindows
  13. No.057

    Node 26 vs Node 24: what breaks when you upgrade, tested

    Most projects move over cleanly: jsonwebtoken, bcrypt, sharp, better-sqlite3 13, tsx and Vitest all worked unchanged. What broke: Corepack and Yarn are gone (Docker builds fail with exit code 127), native modules installed under Node 24 refuse to load, fs.rmdir with recursive now throws (prisma generate with zod-prisma-types fails on the second run), and fs.W_OK disappeared without an error.

    TESTED8 minWindows
  14. No.055

    18 framework starters tested on Windows: what breaks

    15 of 18 starters work on Windows 11: 14 with no issues at all, 1 with a workaround. Every Remix 3 script still fails out of the box and works on Linux; Docusaurus's Windows build failure is fixed by SWC 1.16.21, Nuxt's Windows-only 500 is fixed in 4.6.1, and React Router's installer in 8.5.1. Three more break in ways that tutorials and CI scripts hit: Angular needs a newer Node 24, Electron Forge renamed its template, and Cloudflare's C3 can exit successfully with a broken project.

    TESTED8 minWindows
  15. No.052

    Next.js 16.3 vulnerabilities: which version is patched?

    On October 14, two critical remote code execution bugs were fixed in 16.4.1 only; every 16.3 release is affected and for days npm audit did not flag them. Before that, 16.3.0 carried 9 published advisories (3 critical) and 16.3.7 carried 6, because the September 30 fixes skipped it. By October 23, npm audit counted 10 on 16.3.7 and 3 on 16.3.8. The upgrade built cleanly on every version I tried. The traps are in the tools: npm audit fix jumps you a minor version or does nothing at all, and next upgrade crashes on Windows.

    TESTED7 minWindows
  16. No.051

    Bun "error: Cannot find module": every cause, tested

    Bun prints the same Cannot find module error for six different problems. Each one reproduced on Bun 1.4.2 on Windows and Linux, with the fix that worked.

    > error: Cannot find module '@mono/ui' from 'D:\nk-repro\bun-cnf\e-mono\apps\web\index.ts'

    FIXED9 minWindows
  17. No.047

    Fix: @prisma/client did not initialize yet (Prisma 6 and 7)

    The error says run prisma generate. Why it keeps coming back on Windows, npm 12 and CI, reproduced, plus the errors Prisma 7 throws instead.

    > D:\project\node_modules\.prisma\client\default.js:43

    DATABASE4 minWindows
  18. No.043

    Fix: APIConnectionError "Connection error." (OpenAI, Anthropic)

    OpenAI's and Anthropic's SDKs both say only Connection error. Five real causes reproduced, from a local model that isn't running to antivirus HTTPS scanning.

    > APIConnectionError: Connection error.

    AI5 minWindows
  19. No.038

    Fix: Puppeteer "Could not find Chrome (ver. …)"

    Puppeteer can't find Chrome though npm install worked. Six causes reproduced on Windows and Linux, including npm 12, upgrades and Docker, each with its fix.

    > Error: Could not find Chrome (ver. 154.0.8037.57). This can occur if either

    FIXED5 minWindows
  20. No.037

    npm 12 breaking changes, tested: what actually breaks

    The headline change, install scripts blocked by default, broke puppeteer, cypress, sqlite3 and Claude Code's npm package, and silently skipped lefthook's git hooks. esbuild, bcrypt, sharp and better-sqlite3 kept working. Every install reported success, and the only sign was a warning after the summary.

    TESTED6 minWindows
  21. No.036

    Fix: Claude Code "not compatible with the version of Windows"

    Windows says claude.exe won't run right after an npm install of Claude Code. Your Windows is fine. Reproduced on npm 12, with the reinstall that fixed it.

    > This version of C:\...\claude-code\bin\claude.exe is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.

    AGENTS3 minWindows
  22. No.035

    Fix: Claude Code "Invalid API key · Fix external API key"

    Invalid API key · Fix external API key, Please run /login and 401 in Claude Code: every auth message reproduced on 2.1.314, and the Windows quoting trap.

    > Invalid API key · Fix external API key

    AGENTS5 minWindows
  23. No.018

    "Cannot find native binding" in Vite 8: the missing @rolldown file

    Vite 8 fails with "Cannot find native binding" and names @rolldown/binding-wasm32-wasi? That's a fallback, not your missing package. Both causes, and the fix.

    > Error: Cannot find native binding. npm has a bug related to optional dependencies

    FIXED8 minWindows
  24. No.016

    Fix: 'vite' is not recognized as an internal or external command

    Windows says the command doesn't exist, but it's right there in node_modules. Five causes, how to tell them apart in one command, and what each one needs.

    > 'vite' is not recognized as an internal or external command,

    FIXED5 minWindows
  25. No.003

    Windows 11 address already in use: 3 traps beyond taskkill

    Address already in use on Windows 11 (EADDRINUSE), but the PID is Docker, WSL or nothing at all. Reproduced: when not to kill it, and which port to pick.

    > node:events:486

    FIXED5 minWindows

Post card · Every Sunday

What broke this week.

One email on Sundays: the Node, TypeScript, Python and AI SDK releases that broke builds that week, each one reproduced, with a link to the fix that worked. Never shared, and you can leave any time.

— Nilay

or follow by RSSor on X

By subscribing you agree to the privacy note. One click to leave.

tip: paste the exact error text